Zum Inhalt springen
uencoder

SO_LINGER

SO_LINGER steuert das Verhalten von close(): sofort mit einem RST beenden oder (mit Timeout) warten, bis die Daten in der Warteschlange abfließen, bevor geschlossen wird.

Zweck

Formt die close()-Semantik, wenn vor dem Herunterfahren entweder die Zustellung garantiert oder die Verbindung sofort freigegeben werden muss.

Mechanismus

Mit aktiviertem Linger plus Timeout blockiert close(), bis die Daten gesendet sind oder der Timeout abläuft; danach geht ein RST raus. Ohne Linger (Standard) kehrt close() sofort zurück, restliche Daten werden im Hintergrund gesendet. Ein sofortiger RST dient dem abnormen Abbau.

Anwendungsfälle

  • Ordentliches Verbindungsende
  • Abrupter Verbindungsabbruch
  • Server-Herunterfahren

Verwandte Tools

References