Nahtlose Socket-Programmierung in Java

Wenn man das Client-Programm startet, sollte der Server bereits laufen und auf dem Port hören – darauf warten, dass ein Client um eine Verbindung anfragt. Das Client-Programm öffnet als Erstes einen mit dem Server verbundenen Socket, der auf dem angegebenen Hostnamen und Port läuft:

Listing F


Wenn man dieses Programm verwenden möchte, muss der Hostname im Socket-Konstruktor auf den Namen des Rechners im eigenen Netzwerk geändert werden. Das ist der Rechner, auf dem die Server-Applikation läuft. Das Programm legt zudem die Portnummer 4444 fest, wenn es seinen Socket erzeugt. Das ist eine entfernte Portnummer (die Nummer eines Ports auf dem Server-Rechner) und bezeichnet den Port, auf dem der Server hört. Der Socket des Client ist an einen beliebigen verfügbaren Port gebunden (das heißt ein Port auf dem Client-Rechner).

Als Nächstes kommt die While-Loop, welche die Kommunikation zwischen dem Client und dem Server umsetzt. Die Client-Applikation liest die Eingabe aus der Tastatur (oder Standardeingabe) und sendet sie an den Server. Deshalb wird der Server mit demselben String antworten.

Listing G


Zu beachten ist, dass der Client die Verbindung beendet, wenn der Server „Bye.“ schickt. Dazu muss man den String von der Clientseite aus schicken, sodass er an den Server übertragen wird, der ihn dann als Antwort zurücksendet. Der Client muss alle Ströme und Verbindungen beenden.

Listing H


Fazit

Das Java.net-Paket stellt eine mächtige und flexible Infrastruktur für die Netzwerkprogrammierung zur Verfügung. Es ist empfehlenswert, bei diesem Paket nachzusehen, wenn man wissen möchte, welche Klassen zur Verfügung gestellt werden.

Ressourcen für die weiterführende Lektüre

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Nahtlose Socket-Programmierung in Java

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *