Inhaltsverzeichnis API Einführung Java Entwicklungs-Kit Erste Programme Java-Grundwissen Erste Objekte Ein/Ausgabe in Java Oft benutzte Java-Werkzeuge Graphische Oberfläche Applets Threads Netzwerk Das TopDraw-Projet

Netzwerk-Programmierung

  1. Netzwerk-Programmierung
    1. Grundkonzept: Sockets
    2. Gebrauch
    3. Übungen
Ob es um Applets geht, welche um in der Regel nützlich zu sein sich mit ihrem Server verbinden müssen um Daten auszutauschen, oder allgemein um Programme welche über das Netz Daten austauschen müssen, sie brauchen eine Möglichkeit um an die Netz-Ressourcen zu kommen.

Die dafür in java zur Verfügung gestellten Konstrukte sind in der Klasse java.net zusammengestellt.

Grundkonzept: Sockets

Was ist ein Socket? Mit Socket wird ein Kunst-Konstrukt bezeichnet, welches als ein/ausgangs-Punkt für Netwerkverbindungen steht. Damit eine Verbindung aufgebaut wird, ist es demnach nötig 2 Sockets miteinander in Verbindung zu bringen, damit können dementsprechend Daten die an den einen Socket übermittelt werden, aus dem anderen entnommen werden.

Soll ein Socket mit einem anderen verbunden werden, muß als Information der Name der fernen Maschine bekannt sein, sowie die Port-Nummer, eine Art Identifikation des verlangten Services, bekannt sein. Der lokale Socket sendet bei Erzeugung, eine Anfrage an die ferne Maschine, Anfrage welche von einem ServerSocket aufgefangen werden muß. Dieses ServerSocket nimmt eventuell diese Verbindung an und erzeugt selbst ein mit dem anfragenden Socket verbundenen Socket.

Gebrauch

Beim Aufbau einer Netzwerk-Applikation sind mehrere Paradigmen möglich, allerdings ist in den meisten Fällen ein Client-Server Paradigma das geeignetste. Es sollte vermieden werden graphische Applikationen mit Serverfunktionen zu vermengen, dies wird immer über kurz oder lang zu Problemen führen.

Client Server bedeutet, daß ein dedizierter Server, ein Daemon gebaut wird, welcher kontinuirlich einen bestimmten Service anbieten wird, auf den sich ein oder mehrere Kunden verbinden können.

Der Server könnte folgendermaßen aussehen:

Dazu der Thread der sich um die Abhandlung der Anfrage kümmert.

Wenn dieses Programm gestartet wird, läuft der Daemon, kann also schon z.B. mit telnet getestet werden.

Allerdings kann auch ein java-Client dafür geschrieben werden:

Übungen


Inhaltsverzeichnis API Einführung Java Entwicklungs-Kit Erste Programme Java-Grundwissen Erste Objekte Ein/Ausgabe in Java Oft benutzte Java-Werkzeuge Graphische Oberfläche Applets Threads Netzwerk Das TopDraw-Projet

Document mit wml erzeugt von Bruno Böttcher unter Benutzung von öffentlichen Dokumenten.