Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Java ist auch eine Insel (2. Aufl.) von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 1.4
Java ist auch eine Insel (2. Auflage)
gp Kapitel 16 Netzwerkprogrammierung
  gp 16.1 Grundlegende Begriffe
  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.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: von URL zu URLConnection
    gp 16.3.4 Autorisierte URL-Verbindungen mit Basic Authentication
  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 Klasse-K-Netz
    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 Webprotokolle 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 E-Mails mittels POP3 abrufen
  gp 16.13 Arbeitsweise eines Webservers
    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

Kapitel 16 Netzwerkprogrammierung

Sicherheit beruht auf der vermeintlichen Kenntnis und
der tatsächlichen Unkenntnis der Zukunft.
– Helmut Nahr

Verbindungen von Rechnern unter Java aufzubauen, ist ein Kinderspiel – somit ist die Netzwerkprogrammierung, die heutzutage noch aufwändig und kompliziert ist, schnell erledigt. Die API-Funktionen sind in ein eigenes Paket geflossen: java.net. Für Sun Microsystems sind Netzwerke das zentrale Computerthema, und sie haben deshalb den Slogan »The network is the computer« gleich als Warenzeichen eingetragen.

16.1 Grundlegende Begriffe

Genau wie in anderen Bereichen auch, gibt es in der Netzwerktechnik eine Reihe von Begriffen, deren Bedeutungen bekannt sein sollten. Wir wollen daher für die wichtigsten eine Definition angeben.

gp  Host: Eine Maschine im Netzwerk, die durch eine eindeutige Adresse (IP-Nummer) angesprochen werden kann.
gp  IP-Nummer: Eine eindeutige Adresse, die jeden Host im Internet kennzeichnet. Die Adresse ist für IPv4 eine 32-Bit-Zahl, die in die Teile Host und Netzwerk untergliedert ist.
gp  Hostname: Ein symbolischer Name für die IP-Nummer. Durch Techniken wie DNS (Domain Name Service) und Suns NIS (Network Information Services) werden diese auf die IP-Adressen abgebildet.
gp  Paket (engl. Packet): Eine einzelne, über das Netzwerk verschickte Nachricht.
gp  Router: Ein Host, der Pakete zwischen verschiedenen Netzwerken weiterreicht.
gp  IETF: Die Internet Engineering Task Force. Eine Gruppe, die sich um Standards im Internet kümmert.

Galileo Computing

16.1.1 Internet-Standards und RFC  toptop

Das Kürzel RFC (Request For Comment) wird uns im Folgenden noch öfter begegnen. RFCs sind frei verfügbare Artikel, in denen Standardisierungsvorschläge offiziell gemacht werden, die sich dann zum Standard etablieren sollen. Sie sind nicht so förmlich wie Normen (DIN, ISO oder IEEE), aber dennoch sehr weit reichend, und gelten als De-facto-Standard. Jedes RFC wird durch eine eigene Nummer referenziert, so ist das Internet Protocol (das IP in TCP/IP) in der RFC 791 und das Protokoll, mit den E-Mails befördert werden, in RFC 2821 (früher RFC 821) beschrieben. Der Diskussionsprozess selbst ist in der RFC 1310 beschrieben. Der Titel ist »The Internet Standards Process«. Wer selbst Ideen für einen Standard (Proposed Standard) hat, übergibt diesen der Internet Engineering Task Force (IETF). Die Vorschläge werden diskutiert und können dann, falls stabil, sinnvoll und verständlich, zur RFC werden. Falls zwei unterschiedliche Implementierungen existieren, kann dieser Vorschlag dann nach spätestens einem Jahr offiziell werden. RFCs können über http://www.rfc-editor.org/ gesucht werden. Die Seite der Fachhochschule Köln (http://rfc.fh-koeln.de/rfc.html) spiegelt ebenfalls eine große Sammlung von RFCs im HTML-Format.






1   Obwohl Al Gore in einem Interview für CNN gegenüber dem Journalisten Wolf Blitzer selbstsicher erwähnte, die Entwicklung des Internets wäre seine Erfindung, müssen wir das als süffisantes Politiker-Geschwätz abtun. (Al Gore war zu diesem Zeitpunkt gerade einmal einundzwanzig Jahre alt und wurde erst acht Jahre später in das US-Repräsentantenhaus gewählt.) Leider kannte Blitzer die wahre Geschichte nicht, aber die Medienkonsumenten haben kräftig gelacht.





Copyright © Galileo Press GmbH 2003
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