Internetadressierung ·Sockets und Ports ·Client/Server-Programmierung ·Multicasting ·h"ohere NetzdiensteDas relevante API Paket ist java.net; f"ur remote method invocation java.rmi.*. Material und Beispiele zum Thema findet sich in Kapitel 9 von [flanagan:javanutshellexamples] sowie in Kapitel 15 von [eckel:javathinking]. Auch der entsprechende Abschnitt aus dem Tutorial [campione.walrath:javatutorial] ist als Einstieg brauchbar. Dar"uberhinaus gibt es noch [harold:javanetworkprogramming] nur "uber Netzwerkprogrammierung, aber ich kenne es selbst nicht. Ein wenig "uber die verschiedenen Internetprotokolle habe ich aus [tanenbaum:networks].
ServerSocket s = new ServerSocket(PORT);
try {
Socket socket = s.accept();
....
}
finally {
socket.close();
}
DatagramPacket(buf, buf.length) // R DatagramPacket(buf, buf.length, inetAddress, port) // S
DatagramPacket dp = new DatagramPacket(buf, buf.length); .. dsocket.receive(dp); // dsocket = datagram-socket ....dp.getAddress(); ....dp.getPort(); ....Um die Nachricht z.B. Ausdrucken zu k"onnen, kann man sie in einen String umwandeln. z.B. indem man den Empfangenen byte-array nach Zwischenspeicherung, mittels des Konstruktors String (buffer,...) umwandelt, wobei buffer z.B. als byte[] buffer = new byte[2048] vereinbart ist.
MulticastSocket socket =
new MulticastSocket(4532); // Port-Nr.
InetAddress group =
InetAddress.getByName("230.0.0.1"); // Multicast-Addr.
socket.joinGroup(group);
| Bestandteil | Methoden | |
| Protokoll/Scheme | getProtocol | |
| Resource-Adresse | Host-IP-Adresse | getHost |
| Datei (inkl. Pfad) | getFile | |
| Portnummer (opt.) | getPort | |
| Referenz (opt.) | getRef | |
String hostname = "www.informatik.uni-kiel.de";
String protocol = "http";
String filename = "/inf/deRoever/SS00/Java/"; // = index.html
URL kursurl = new URL(protocol,
hostname,
filename);
URL gruppenitem_url = new URL(kursurl, "#gruppen"); URL gruppen_url = new URL(kursurl, "gruppen.html");
Url-Verbindungen
Protokoll Verwendung Beispiel http Hypertext (HTML) http://www.informatik.uni-kiel.de/ ms ftp File transfer ftp://ftp.informatik.uni-kiel.de/pub/kiel/ file lokale Datei /home/ms/.plan news Brett/Artikel
news:cau.ifi.fragen news:AA4534345@news.informatik.uni-kiel.de gopher Gopher gopher://gopher.informatik.tu-muenchen.de/ mailto mailto:ms@informatik.uni-kiel.de telnet Einloggen telnet://snoopy.informatik.uni-kiel.de:80
Table 1: Verschiedene URL's
| Methode | R"uckgabetyp | Nutzen |
| openConnection() | UrlConnection | zum Lesen und Schreiben von und auf die UrlConnection. |
| openStream() | InputStream | erlaubt das direkte Lesen von einem Url, |
| java.rmi | Remote interface und Exception |
| java.rmi.server | u.a. remote Objects |
| java.rmi.dgc | Distributed GC |
| java.rmi.registry | Verwaltung von RO's |