Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinSock] sprawdzenie czy klient coś wysłał

Ostatnio zmodyfikowano 2012-06-23 00:00
Autor Wiadomość
kubawal
» 2012-06-22 17:18:13
Przy gniazdach nieblokujących, recv() zwraca -1, kiedy nie ma danych do odebrania.
P-58911
Admixior
» 2012-06-23 00:00:13
hmm... Zwróć uwagę na ostatni parametr (timeval). Jeśli podasz tam NULL pointer to nie zablokuje programu tylko sprawdzi czy ktoś coś wysłał.
Ew. możesz ustawić że po minucie funkcja zwróci ci czy ktoś coś przysłał. timeval::tv_sec=60; i nie będzie blokować.

I jeszcze 1 uwaga
C/C++
if( i == 0 ) return 0;

jeżeli nic się nie stanie (czas upłynie lub go w ogóle nie będzie) i wiadomości nie będzie to select() zwraca 0, więc tutaj wstawiasz wysyłanie "ponaglenia", a czy zakończenie wątku (chyba że to inna funkcja) jest pożądane to ja nie wiem.
P-58946
1 « 2 »
Poprzednia strona Strona 2 z 2