Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

НЕ ставиться таймаут на 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.038 c
1-1110548376
Шурик Ш
2005-03-11 16:39
2005.03.27
Не могу открыть на чтение файл, который занят другим процесом...


1-1110976205
Sanich
2005-03-16 15:30
2005.03.27
Как экспортировать отчет из QuickReport.


3-1109362678
ali_tash
2005-02-25 23:17
2005.03.27
как войти в базу FireBird если не знаеш пароля ?


8-1102816081
I m A
2004-12-12 04:48
2005.03.27
Пунктирная линия


14-1110024414
fc
2005-03-05 15:06
2005.03.27
Эксперемент[1]. Кривые зеркалА.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский