
22.08.2009, 10:36
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 ErrorNeo короче будет если задать таймаут самому сокету
типа
timeout.tv_usec = 0;
timeout.tv_sec = RECV_TIMEOUT;
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(TIMEVAL));
тогда recv будет автоматом вылетать через RECV_TIMEOUT милесекунд.
т.е. чтобы был таймаут 10 сек нужно RECV_TIMEOUT = 10000;
А потом когда это уже не нужно можно снять таймаут
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, 0, 0);
|
|
|