Wie finden Sie heraus, wenn ein socket geschlossen ist

Habe ich ein kleines client-server Programm, das ich gemacht, aber das Hauptproblem ist, dass sobald eine Verbindung hergestellt ist zwischen dem client und dem server, wenn der client schließt sich das Programm, den server wiederholt ausgeführt, die Letzte Nachricht, und das schafft große Probleme, manchmal. Also was ich möchte ist, wenn es irgendeine Funktion, die ich anrufen kann um den Status eines SOCKET-Struktur, so dass, wenn der client schließt das Programm, der server weiß, zu stoppen. Ich brauche nur die Funktion was zu suchen von der Funktion für eine schlechte Steckdose. Übrigens Schreibe ich dieses Programm in Win32 c. Ich habe versucht if(mySocket==SOCKET_ERROR), die nicht zu funktionieren scheinen... es sei denn, ich habe es falsch ist. Ich bin erst am Anfang der Vernetzung.

if(!sockServer.RecvData( recMessage, STRLEN )){return 0;}
//where
bool Socket::RecvData( char *buffer, int size )
{
    int i = recv( mySocket, buffer, size, 0 );
    if(!i){return false;}
    buffer[i] = '\0';
    return true;
}  //this isn't working
InformationsquelleAutor Iowa15 | 2012-10-16
Schreibe einen Kommentar