Socketverbindung Signal

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Socketverbindung Signal
Hallo!
Weiss jemand vielleicht wie (mit welchem Signal) man erkennt, dass der Client einer socketverbindung, von dem man per read auf Daten wartet, die Verbindung abgebrochen hat?
SIGPIPE geht da ja nicht, das geht ja nur wenn man per write auf einen geschlossenen FD schreiben will, oder???
Ciao, viel Glück am Dienstag an alle!


Normal liefert read() in dem Fall 0 zurück.


ich dachte read() blockiert wenn keine Daten anliegen… oder erkennt read() in diesem Fall dass die Verbindung gestorben ist und deblockiert sich mit Rückgabewert 0?


Steht das nicht in der manpage? Also unter Win32 krieg ich ein 0 zurück von read(), wenn mein Gegenüber die Verbindung getrennt hat. Ich schau nochmal nach…


OK, vielleicht war’s doch recv()… Also ich hab grad in meinem Windows-Programm nachgeschaut, da beend ich die Verbindung bei recv() = 0. Allgemein scheint das Verhalten unter Linux aber undokumentiert zu sein, ich konnte in keiner relevanten manpage was passendes finden. Einfach ausprobieren… :wink: Oder mal nen Blick in die MSDN riskieren…