Java-Programme, die mit Socket-Klassen aus dem java.net-Paket arbeiten, müssen die Verbindungen initialisieren, über die sie kommunizieren wollen. Anschließend werden die Daten an die Verbindung geschrieben beziehungsweise aus dieser gelesen.
Um Daten aus einer Socket-Verbindung lesen respektive an eine solche schreiben zu können, ist ein Output- oder Input-Stream vom Socket erforderlich. An den Stream kann dann geschrieben oder aus ihm gelesen werden. Dieser Vorgang funktioniert ähnlich wie die Verfahren zum Schreiben in eine Datei auf einem lokalen Dateisystem.
TCP-Client und -Server
Hier nun ein Blick auf ein einfaches Beispiel, das diese Interaktion von Verbindungen und Datenstreams verdeutlicht. Der Code dazu ist in Listing A aufgeführt. Das Programm implementiert eine Client-Klasse, TCPClient, die eine Verbindung zur Server-Klasse, TCPServer, herstellt. Der Server empfängt Daten vom Client, schreibt die Daten an System.out und sendet dann eine Bestätigung an den Client zurück.
Listing A
Der Server öffnet einen Socket auf Port 7776 und wartet dann, dass ein Client eine Verbindung aufbaut. Nachdem ein Client einen erfolgreichen Verbindungsaufbau durchgeführt hat, öffnet der Server den Input-Stream und den Output-Stream auf dem Client-Socket, um Daten zu lesen und zu schreiben. Die Streams und Reader werden dabei ganz ähnlich benutzt wie beim Schreiben in ein lokales Dateisystem.
Der Client (siehe Listing B) versucht einen Socket an Port 7776 zu erstellen, der eine Verbindung zum Server aufbaut. Ist der Verbindungsaufbau erfolgreich, liest der Client die vom Benutzer eingegebenen Daten und schreibt sie dann mithilfe des vom Socket bereitgestellten Output-Streams an den Server. Das Client-Programm liest schließlich die vom Server zurückgegebenen Daten und meldet sie System.out.
Listing B
Page: 1 2
Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.
Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…
Neue Over-Headset-Kopfhörer von Baseus bieten Raumklang-Audio und unterdrücken Störgeräusche um rund 96 Prozent.
Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…
Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.
Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…