3.
Ein Software-Modul, das den Austausch
von Daten zwischen Applikationen und
Rechnern in einem Netzwerk ermöglicht.
Austausch von Daten zwischen Prozessen auf
Austausch von Daten zwischen Prozessen auf
verschiedenen Rechnern.
demselben Rechner
(Interprozesskommunikation).
3
4.
Endepunkte einer
Netzwerkverbindung verstanden werden.
Sockets können als
Die Kommunikation über Sockets ist
bidirektional (es können also sowohl Daten
empfangen als auch gesendet werden).
Sockets bilden eine plattformunabhängige,
standardisierte Schnittstelle (Implementierung
des Netzwerkprotokoll
Applikation).
4
6.
Winsocks (Windows Socket Library):
BSD-Sockets (Berkeley Sockets):
Unix Domain Sockets:
Socket API für die Windows-Systeme.
Socket API für Unix und unixartige Systeme .
Socket API für Interprozesskommunikation.
6
7.
Stream Sockets:
◦ Kommunikation über Zeichen-Datenstrom.
◦ Verwendung von TCP-Protokoll.
Datagram Sockets:
◦ Kommunikation über einzelne Nachrichten/Pakete.
◦ Verwendung von UDP-Protokoll.
Raw Sockets:
◦ Spezielle Sockets, welche die Erstellung von eigenen
TCP- und UDP-Header zulassen.
7
15. // Auf (mehrfache) Anfragen von Clients warten...
while (true) {
// Anfrage akzeptieren/zulassen und NEUES Socket-Paar erstellen
Socket clientSocket = serverSocket.accept();
DataOutputStream outputStream = new DataOutputStream
(clientSocket.getOutputStream());
DataInputStream inputStream
= new DataInputStream
(clientSocket.getInputStream());
// Implementierung des Protokolls und Verarbeitung der Daten…
// Client Socket schließen
clientSocket.close();
15
16. import java.net.Socket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
public class MeinClient {
public static void main(String[] args) throws Exception {
// Client Socket wird erzeugt und an Host und Port gebunden
Socket clientSocket = new Socket(host, port);
// Analog zum Server…
16
20.
Ableitung von „listening“ Server zu einem
„connected“ Server-Socket (Wichtig: Es wird
ein NEUER Socket erstellt!).
Ableitung von „requesting“ Client zu einem
„accepted“ Client-Socket.
Socket als Endpunkt einer Netzwerkverbindung
Endpunkt = Kombination aus IP und Port-Nr.
20
22.
Alternativen zu Sockets:
◦ Pipes: gepufferter uni- oder bidirektionaler
Datenstrom nach dem FIFO-Prinzip.
◦ Shared Memory: Hier nutzen zwei oder mehrere
Prozesse einen bestimmten Teil des
Hintergrundspeichers (RAM) gemeinsam.
22
23.
Wildcard-Adresse: ein oder mehrere Teile der
Adresse nicht spezifisch ist (z.B. PortNummer mit spezifisch ungültigen IP).
Ports: 2 Byte/16 Bit, also 2^16 (0-65535)
◦ System Ports: 0-1023
◦ User Ports: 1024-49151
◦ Dynamic Ports: 49152-65535
23