
19.11.2009, 10:44
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
какое-то у тебя неадекватное время таймаута стоит. Оно задается на в секундах а в миллисекундах.
Код:
struct timeval timeout = {0}
...........
timeout.tv_sec = 10000; // 10 секунд
...........
setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(struct timeval));
А вообще в коде чтото не вижу проверок на валидность сокета. Т.е. ты не проверяещ - создался он или нет.
также нет проверки того что возвращает recv.
Но главное - ты неудасужился даже проверить что вернул connect
Потому как может ты даже не подключился, а пытаешься считать уже данные.
Также тебе нужны таймауты на connect
В моей статейке по винсоку (https://forum.antichat.ru/showpost.php?p=1331069&postcount=1) может почитать про таймаут на коннект.
|
|
|