Ich habe ein kleines Problem mit der Antwort vom Client warten. Der Code sieht wie folgt aus:C Sockets schließen Verbindung, wenn keine Antwort
num_bytes_received = recv(recvFD, line, MAX_LINE_SIZE-1, 0);
if(line[0] == 'R')
{
do_something();
}
if(line[0] == 'P')
{
do_another_thing();
}
Gibt es eine einfache Möglichkeit, eine Nachricht zu warten, der 30 Sekunden sagen wir mal, und wenn es keine Mitteilung ist ausführen do_another_thing(); Funktion? Es ist nicht Verbindungsprobleme Situation (wie Clients trennen usw.). Es ist meine eigene Beschränkung, die ich gerne schaffen würde.
Sie können 'select' mit einem Timeout verwenden, um auf Aktivität auf dem Socket zu warten. Oder 'setsockopt' mit' SO_RCVTIMEO'. – user3386109
Vielen Dank! :) – kotecek