Главная страница
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.048 c
6-1106735456
ТехникПТО
2005-01-26 13:30
2005.03.27
PageControl и WebBrowser


11-1093386026
Ripper
2004-08-25 02:20
2005.03.27
Событие TreeView


1-1110393435
Tirex
2005-03-09 21:37
2005.03.27
принудительное использование другого шрифта всей программой


3-1109145863
Lamersss
2005-02-23 11:04
2005.03.27
как гарантировано записать данные в таблицу???


14-1110344458
begin...end
2005-03-09 08:00
2005.03.27
С Днём рождения! 9 марта