Ich hatte letztens ein ähnliches Problem - und bin auch in diese Falle getappt
Blöderweise sind die
TCP Timeouts dazu noch generell sehr großzügig ausgelegt. Wenn Du sendest bekommst Du zwar 'relativ' zügig einen Timeout (Fehler beim Senden, weil nach etlichen Wiederholungen kein
TCP-ACK kommt). Wenn Du aber nur empfängst kann es in einem der obigen Szenarien leicht passieren, dass die Applikation gute 2 Stunden auf Daten wartet, nachdem die Verbindung unterbrochen wurde, bis Du einen
TCP-Timeout (Fehler beim Empfangen) bekommst.