Skip to main content

Socket-Programmierung für Computernetzwerke

04 Bruckhoff - la belle - Marking length of spectacles arm - LL anzeichnen Bügellänge (April 2025)

04 Bruckhoff - la belle - Marking length of spectacles arm - LL anzeichnen Bügellänge (April 2025)
Anonim

Sockets-Programmierung ist die grundlegende Technologie für die Kommunikation in TCP / IP-Netzwerken. Ein Socket ist ein Endpunkt einer bidirektionalen Verbindung zwischen zwei Programmen, die in einem Netzwerk ausgeführt werden. Der Socket bietet einen bidirektionalen Kommunikationsendpunkt zum Senden und Empfangen von Daten mit einem anderen Socket. Socket-Verbindungen laufen normalerweise zwischen zwei verschiedenen Computern in einem lokalen Netzwerk (LAN) oder über das Internet. Sie können jedoch auch für die Kommunikation zwischen Prozessen auf einem einzelnen Computer verwendet werden.

Steckdosen und Adressen

Socket-Endpunkte in TCP / IP-Netzwerken verfügen jeweils über eine eindeutige Adresse, die aus einer IP-Adresse und einer TCP / IP-Portnummer besteht. Da der Socket an eine bestimmte Portnummer gebunden ist, kann die TCP-Schicht die Anwendung identifizieren, die die an sie gesendeten Daten erhalten soll. Beim Erstellen eines neuen Sockets generiert die Socket-Bibliothek automatisch eine eindeutige Portnummer auf diesem Gerät. Der Programmierer kann in bestimmten Situationen auch Portnummern angeben.

Wie Server Sockets funktionieren

Normalerweise läuft ein Server auf einem Computer und hat einen Socket, der an einen bestimmten Port gebunden ist. Der Server wartet darauf, dass ein anderer Computer eine Verbindungsanfrage stellt. Der Clientcomputer kennt den Hostnamen des Servercomputers und die Portnummer, die der Server überwacht. Der Client-Computer identifiziert sich selbst, und wenn alles stimmt, erlaubt der Server dem Client-Computer die Verbindung.

Socket-Bibliotheken

Anstatt direkt auf Low-Level-Socket-APIs zu codieren, verwenden Netzwerkprogrammierer normalerweise Socket-Bibliotheken. Zwei häufig verwendete Socket-Bibliotheken sind Berkeley Sockets für Linux / Unix-Systeme und WinSock für Windows-Systeme.

Eine Socketbibliothek stellt eine Reihe von API-Funktionen bereit, die den Programmierern ähneln, die zum Arbeiten mit Dateien verwendet werden, z. B. open (), read (), write () und close ().