Zitat von
Zacherl:
Ich hatte es mal so gelöst, dass ich einfach immer nach einiger Zeit irgendwelche Müll Daten versucht habe zu schicken und wenn das Socket einen Fehlercode zurückgegeben hat, wusste ich, dass die Verbindung abgebrochen ist.
Meine Erfahrung ist, dass für eine "nicht ordnungsgemäß" getrennte Verbindung ebend genau
keine Fehlermeldung kommt.
Imho geht es nur so, dass z.B. der Client in definierten Zeitabständen eine Info (zum Bsp. "ping" oder anderer Identifier) an den Server sendet. Erhält der Server nach Timeout keine Message vom Client, wird die gehaltene Socketverbindung getrennt. Das gleiche gilt auch umgekehrt. Nach entsprechenden disconnectes beider Seiten muß der Client versuchen eine neue Verbindung zum Server aufzubauen. Wenn das dann nicht klappt, kommt eine Fehlermeldung auf die man entsprechend reagieren kann.
Das heisst also, der Server wartet auf ein connect und trennt bei Inaktivität. Der Client macht das gleiche, versucht aber nach Disconnect eine neue Verbindung zu etablieren.
Gruß oki