Ziel dieses Kapitels ist die Darstellung der Datenübertragungseigenschaften von Java, also sowohl Netzwerkübertragungen als auch Dateitransfers – und damit untrennbar verbunden das Konzept der Sicherheit. Führt man sich vor Augen, welche Komponenten des Spiels „Schiffe versenken" mit dem bisherigen Kenntnisstand realisiert werden könnten, so sollten Server und Client inklusive der Benutzeroberflächen implementiert werden können. Nach der Lektüre dieses Kapitels des Buches ist der Leser zusätzlich in der Lage, die Kommunikation zwischen Client und Server über das Internet zu programmieren, womit die erste Version des Spiels einsatzbereit ist. Die folgenden Teile dieses Kapitels sind wie folgt gegliedert: Zuerst werden die Prinzipien des Streamings erläutert, mit denen Daten allgemein (ohne speziellen Netzwerkbezug) von einer Quelle zu einer Senke übertragen werden. Streaming bezeichnet hierbei die Übertragung von Datenströmen. Im Folgenden werden daher die Begriffe Strom und Stream als gleichwertig betrachtet. Anschließend werden die Sicherheitsrestriktionen erläutert, die bei der Verwendung der Netzwerkfunktionalität von Java beachtet werden müssen. Im Anschluss daran werden die Netzwerkfähigkeiten der Java-Plattform betrachtet, wobei hier eine kurze Einführung in die Terminologie von Netzwerken vorgenommen wird. Anschließend wird die Verarbeitung von URLs beschrieben, mit denen Ressourcen im Internet spezifiziert werden. Der dann folgende Teil erläutert den Einsatz von Sockets, die es einem Programm ermöglichen, mit anderen Programmen über ein Netzwerk zu kommunizieren. Ein Socket ist in diesem Zusammenhang ein Endpunkt einer Zwei-Wege-Kommunikation. Der abschließende Teil ist Datagrammen gewidmet, mit denen Nachrichten paketvermittelt übertragen werden können. Streaming Sicherheit Networking in Java Anwendungsbeispiel Zusammenfassung