Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Java ist auch eine Insel von Christian Ullenboom
Buch: Java ist auch eine Insel (Galileo Computing)
gp Kapitel 16 Netzwerkprogrammierung
gp 16.1 Grundlegende Begriffe
gp 16.1.1 Internet-Standards und RFC
gp 16.2 URL-Verbindungen und URL-Objekte
gp 16.2.1 Die Klasse URL
gp 16.2.2 Informationen über eine URL
gp 16.2.3 Der Zugriff auf die Daten über die Klasse URL
gp 16.2.4 Verbindungen durch einen Proxy-Server
gp 16.3 Die Klasse URLConnection
gp 16.3.1 Methoden und Anwendung von URLConnection
gp 16.3.2 Protokoll- und Content-Handler
gp 16.3.3 Im Detail: vom URL zu URLConnection
gp 16.3.4 Autorisierte URL-Verbindungen mit Basic Authentication
gp 16.3.5 Apache Jakarta HttpClient
gp 16.4 Das Common Gateway Interface
gp 16.4.1 Parameter für ein CGI-Programm
gp 16.4.2 Kodieren der Parameter für CGI-Programme
gp 16.4.3 Eine Suchmaschine ansprechen
gp 16.5 Host- und IP-Adressen
gp 16.5.1 Das Netz ist Klasse ...
gp 16.5.2 IP-Adresse des lokalen Hosts
gp 16.5.3 Die Methode getAllByName()
gp 16.6 NetworkInterface
gp 16.7 IPv6 für Java mit Jipsy
gp 16.8 Socket-Programmierung
gp 16.8.1 Das Netzwerk ist der Computer
gp 16.8.2 Standarddienste unter Windows nachinstallieren
gp 16.8.3 Stream-Sockets
gp 16.8.4 Informationen über den Socket
gp 16.8.5 Mit telnet an den Ports horchen
gp 16.8.6 Ein kleines Echo - lebt der Rechner noch?
gp 16.9 Client/Server-Kommunikation
gp 16.9.1 Warten auf Verbindungen
gp 16.9.2 Ein Multiplikations-Server
gp 16.10 SLL-Verbindungen mit JSSE
gp 16.11 Web-Protokolle mit NetComponents nutzen
gp 16.12 E-Mail
gp 16.12.1 Wie eine E-Mail um die Welt geht
gp 16.12.2 Übertragungsprotokolle
gp 16.12.3 Das Simple Mail Transfer Protocol
gp 16.12.4 E-Mails versenden mit Suns JavaMail-API
gp 16.12.5 MimeMultipart-Nachrichten schicken
gp 16.12.6 E-Mails mittels POP3 abrufen
gp 16.13 Arbeitsweise eines Web-Servers
gp 16.13.1 Das Hypertext Transfer Protocol (HTTP)
gp 16.13.2 Anfragen an den Server
gp 16.13.3 Die Antworten vom Server
gp 16.14 Datagram-Sockets
gp 16.14.1 Die Klasse DatagramSocket
gp 16.14.2 Datagramme und die Klasse DatagramPacket
gp 16.14.3 Auf ein hereinkommendes Paket warten
gp 16.14.4 Ein Paket zum Senden vorbereiten
gp 16.14.5 Methoden der Klasse DatagramPacket
gp 16.14.6 Das Paket senden
gp 16.14.7 Die Zeitdienste und ein eigener Server und Client
gp 16.15 Internet Control Message Protocol (ICMP)
gp 16.15.1 Ping
gp 16.16 Multicast-Kommunikation


Galileo Computing

16.7 IPv6 für Java mit Jipsytoptop

Bis zur Java-Version 1.4 unterstützt die Java-Bibliothek nur IPv4, also Netzwerkadressen, die sich durch vier Oktette auszeichnen. Anfang 1970 fanden die Entwickler 32-Bit-IP-Adressen mehr als genug, doch es reichte nicht. Mit IPv6, auch bekannt als IPng (IP Next Generation), existiert eine Erweiterung des IP-Verkehrs, so dass IP-Adressen keinen Engpass mehr darstellen. Für IPv6 hat die Arbeitsgruppe voll zugelangt und 128 Bits eingeplant.

Ist für die älteren Java-Versionen IPv6 gefragt, dann füllt die Software Jipsy von Matthew Flanagan die Lücke. Seine Implementierung ersetzt die IPv4-lastigen Klassen im java.net-Paket einfach durch neue. Ohne Änderung des Programmcodes und unter Einbeziehung einer externen nativen Bibliothek ist der Schritt leicht gemacht. Dennoch lässt Jipsy die neue Schreibweise für Adressen zu. Während bei IPv4 die vier Bytes durch Punkte getrennt wurden, entstehen nun Adressen folgenden Formats:

4B23:12FA:667C:3621:9819:00A1:0044:CAFE

Eine IPv6-Adresse besteht aus acht Gruppen von jeweils vier Hexadezimalzeichen.

Die letzte Version von Jipsy lässt sich unter http://sourceforge.net/projects/jipsy/ beziehen. Nach dem Auspacken erhalten wir die Klassen und den Quellcode. Jipsy ist Open Source, genauer gesagt, es steht unter GNU Lesser General Public License (LGPL). Flanagan implementiert die Klassen direkt ins Paket java.net, so dass wir der Laufzeitumgebung nur noch über den CLASSPATH die neuen Klassen mitteilen müssen. Zudem muss natürlich auch auf die native Bibliothek verwiesen werden, unter Unix, indem wir den Pfad zu libnet6.so zur Variablen LD_LIBRARY_PATH hinzufügen. Der beigelegten Datei install sind weitere Informationen zu entnehmen.

Die Implementierung ist natürlich plattformabhängig, und so lässt sich nicht auf jeder Plattform IPv6 nutzen. Voraussetzung ist selbstverständlich, dass das Betriebssystem die nächste Generation der IP-Dienste nutzen kann.





Copyright (c) Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de