Показать сообщение отдельно

  #7  
Старый 22.08.2009, 10:36
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

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);
 
Ответить с цитированием