Socket
Ein Socket ist ein Netzwerk-Kommunikationsendpunkt, identifiziert durch (Protokoll, lokale IP, lokaler Port, Remote-IP, Remote-Port), und dient als Schnittstelle zwischen Anwendungs- und Transportschicht.
Zweck
Gibt Anwendungen einen abstrakten Kommunikationsendpunkt, der die Details des zugrunde liegenden Protokolls verbirgt.
Mechanismus
Die Socket-API: socket() erstellt, bind() vergibt eine Adresse, listen() versetzt einen Server in den Lauschmodus, accept() nimmt eine Verbindung, connect() wählt vom Client, send()/recv() übertragen Daten und close() beendet. TCP-Sockets haben eine Zustandsmaschine; UDP ist verbindungslos.
Anwendungsfälle
- Netzwerk-Server und -Clients
- Datenbankverbindungen
- WebSocket-Kommunikation
- Unix-Domain-Sockets (lokale IPC)
Beispiele
- Eingabe
(TCP, 0.0.0.0:8080, client:1234)OutputOne connected TCP socketThe five-tuple
Häufige Fehler
- Unclosed sockets exhaust available ports
- Use SO_REUSEADDR or close sockets promptly
Verwandte Begriffe
Port
Ein Port ist eine 16-Bit-Adresse der Transportschicht (0-65535), die mehrere Netzwerkanwendungen auf einem Host unterscheidet; zusammen mit der IP-Adresse bildet er einen Socket. GLOSSAR
TCP
TCP (Transmission Control Protocol) ist ein verbindungsorientiertes, zuverlässiges, geordnetes Transportprotokoll; es baut Verbindungen per Three-Way-Handshake auf und bietet Flusskontrolle mit gleitendem Fenster sowie ACK-basierte Bestätigungen. GLOSSAR
UDP
UDP (User Datagram Protocol) ist ein verbindungsloses, unzuverlässiges, ungeordnetes Transportprotokoll mit geringem Overhead und minimaler Latenz, geeignet für Echtzeit- und Broadcast-Verkehr. GLOSSAR
IP Address
Eine IP-Adresse ist die numerische Kennung einer Netzwerkschnittstelle — 32 Bit für IPv4 (vier Dezimal-Oktetts) und 128 Bit für IPv6 (acht Hexadezimalgruppen) — und dient der Netzwerkadressierung. GLOSSAR