000
26.04.2005, 10:31 Uhr
~__tobi__
Gast
|
Hallo,
ich habe ein Problem mit meinen Sockets:
Ich habe mir einen Client geschrieben, der mithilfe der select()- Anweisung seinen Socketport überprüft. Wenn Daten ankommen, werden sie gelesen und wenn das Serverprogramm beendet wird, merkt das auch der Client durch den Rückgabewert von -1 der recv()- Funktion.
Doch leider merkt der Client nicht, wenn ich den Serverport in der Serversoftware einfach schließe, das heisst der Client müsste in diesem Falle 0 als Rückgabewert der recv()- Funktion erhalten. das tut er aber nicht - nicht mal die select- Funktion reagiert auf das Schliessen des Serverports.
Ich schliesse meinen Serverport erfolgreich (Rückgabewert =0) durch das Aufrufen der Funktion closesocket(Serverport). Anschliessend rufe ich noch die Funktion WSACleanup() auf und erwarte das der Client das auch merkt - wie muss ich den Port richtig schliessen??
Danke & gruß Tobi |