Timeout für send() und recv()
-
Hallo Community,
Wie kann ich ein Timeout für send und recv realisieren?
Bei connect habe ich so gelöst:
137 action.sa_handler = time_out; 138 action.sa_flags = 0; 139 sigaction(SIGALRM, &action, 0); 145 alarm(_TIMEOUT); 146 con = connect(sock, (struct sockaddr *)&sin, sizeof(sin)); 147 alarm(0); 148 if(istimeout) 149 { 150 cout << _FAIL << " (Timeout)\n" << flush; 151 continue; 152 }
Das funktioniert aber bei send/recv nicht.
Hintergrund: Wenn der Server zu langsam ist, dauert die Abfrage sehr lange und dann soll es abgebrochen werden.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
poncho schrieb:
Das funktioniert aber bei send/recv nicht.
Ist mir neu...
-
poncho schrieb:
Hallo Community,
Wie kann ich ein Timeout für send und recv realisieren?
Mit poll oder select