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

Вниз

Вопрос по WSAWaitForMultipleEvents   Найти похожие ветки 

 
FireMan_Alexey ©   (2004-04-26 12:51) [0]

Ув. мастера!
Не могли бы подсказать, как можно определить какое событие происходит WSAWaitForMultipleEvents. Я не знаю как определить какое событие произошло!
Код:
Var
 Socket:TSocket;
 Event :TWSAEvent;
 Result:Integer;
Begin
 Event:=WSACreateEvent;
 WSAEventSelect(Socket,Event,FD_CLOSE or FD_CONNECT or FD_READ or FD_WRITE);
 While True Do
   Begin
     Result:=WSAWaitForMultipleEvents(1,Event,False,WSA_INFINITE,True);
     ....................
     WSAResetEvent(Event);
   End;
 WSAEventClose(Event);
End;


 
Digitman ©   (2004-04-26 12:53) [1]

WSAEnumNetworkEvents


 
FireMan_Alexey ©   (2004-04-27 13:28) [2]

>Digitman
Спасибо!


 
FireMan_Alexey ©   (2004-04-30 09:33) [3]

>Digitman
Еще созрел вопрос о функциях MsgWaitForMultipleObjects и WSAWaitForMultipleEvents.
Я вычитал в старых форумах, что Вы предлагали использовать первую функцию, а не вторую. Так же покопался в Хелпе и обнаружил что функция MsgWaitForMultipleObjects возращает значения WAIT_ABANDONED_0+(Кол-во Event-тов)-1 если, как я понял из словаря мое событие "Выброшено". Вопрос состоит в том, что значит "Выброшено" и как на него реагировать? Да и чего я не получу если создам отдельный поток и буду использовать функцию WSAWaitForMultipleEvents?


 
Polevi ©   (2004-04-30 09:39) [4]

>Да и чего я не получу
WSAWaitForMultipleEvents ожидает только Event объекты, а MsgWaitForMultipleObjects возвращает управление также при наличии сообщения в очереди потока, посланного напрмер с помощью PostThreadMessage - очень удобный механизм межпоточного взаимодействия


 
FireMan_Alexey ©   (2004-04-30 09:58) [5]

>Polevi
Спасибо за ответ, я понимаю, что я в первом случае буду получать больше сообщений. А не подскажешь, что такое WAIT_ABANDONED_0?


 
Verg ©   (2004-04-30 10:31) [6]

Смтуация с ABANDONED связана с тем, что один из объектов был mutex и он не был освобожден (ReleaseMutex) каким-либо захватившим его потоком, а этот поток завершился.



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

Форум: "Сети";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
3-1085480208
AlexG
2004-05-25 14:16
2004.06.20
Выскакивает ошибка при использовании ADO...


1-1086633557
DLL
2004-06-07 22:39
2004.06.20
Проблемка с доступом к файлу на CD


14-1086158505
31512
2004-06-02 10:41
2004.06.20
Что лучше для обработки нажатий на пункты меню?


6-1083154069
ultracrash
2004-04-28 16:07
2004.06.20
Как созранить страничку в ВебБраузере


1-1086365046
BestMaster
2004-06-04 20:04
2004.06.20
FFT/CFFT Componet (Fast Furie Transformation/Complex Fast Furien)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский