LINUX.ORG.RU

таймаут в сокете


0

0

Люди, подскажите! клиент устанавливает связь с сервером. если после этого выдрать из клиентской машины ethernet, клиент впадает в кому на неопределенное время на операции recv. как заставить его выдать ошибку через указанное время?

anonymous

fd_set read_set; FD_ZERO(&read_set); FD_SET(sid, &read_set);

timeval timeout; //тайм аут timeout.tv_sec = 30; //секунды timeout.tv_usec = 0; //vbrhjctreyls

int descriptors_ready = select(sid+1, &read_set, NULL, NULL,&timeout); //проверка связи if(descriptors_ready == -1) return -1; else recv(sid, pData, nLen, 0);

можно так

liom
()

Спасибо! поехало!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.