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 |