Zum Inhalt springen
uencoder

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)
    Output
    One connected TCP socket

    The five-tuple

Häufige Fehler

Unclosed sockets exhaust available ports
Use SO_REUSEADDR or close sockets promptly

Verwandte Begriffe

Verwandte Tools

References