Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

НЕ ставиться таймаут на recvfrom!   Найти похожие ветки 

 
c-forever   (2005-01-24 20:44) [0]

делаю
int timeout = 1000;
setsockopt(sockRaw, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));

чтобы таймаут созданному сокету поставить, потом вызываю

recvfrom(sockRaw, recvbuf, MAX_PACKET, 0, (struct sockaddr*)&from, &fromlen);

и если нет ответа то прога подвисает (типа ждет), хотя я ставил таймаут... В чем тут дело, помогите плз.


 
Rouse_ ©   (2005-01-25 11:37) [1]

available in the Microsoft implementation of Windows Sockets 2

WSASartup($202, WSAData);


 
c-forever   (2005-01-25 14:26) [2]

Да-да. Дак и делаю. Сразу по WM_CREATE вызываю
WSAStartup(MAKEWORD(2,2), &WSAData);.

затем создаю сырой сокет:
sockRaw = WSASocket (AF_INET, SOCK_RAW, IPPROTO_ICMP, NULL, 0,0);

затем ставлю таймаута на send и recv:
ште timeout = 1000;
iSize = setsockopt(sockRaw, SOL_SOCKET, SO_SNDTIMEO, (char*)&timeout, sizeof(timeout));
iSize = setsockopt(sockRaw, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));

затем использую настроенный сокет для получения датаграмм:
iSize = recvfrom(sockRaw,recvbuf,MAX_PACKET,0,(struct sockaddr*)&from, &fromlen);

но если сервер не отвечает то прога висит... Что не так? Может есть какой-нить др. способ установления таймаута на такие сокеты?



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1110389726
John
2005-03-09 20:35
2005.03.27
Поиск файлов


14-1109939062
syte_ser78
2005-03-04 15:24
2005.03.27
Раз уж нельзя о взломе..


6-1106575071
Progh
2005-01-24 16:57
2005.03.27
Сохранить вложение из idMessage


6-1106403411
Mistic
2005-01-22 17:16
2005.03.27
ICS или Indy? Какой набор компонентов лучше?


1-1110788781
denis24
2005-03-14 11:26
2005.03.27
Работа со списком указателей