Вниз
Скачать: CL | DM;

Вопрос по 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
3-1085486333
Serge1
2004-05-25 15:58
2004.06.20
Выделение строк в <b>DBGrid</b>


1-1086295085
Gemini
2004-06-04 00:38
2004.06.20
Подскажите пример поиска строки в текстовом файле.


14-1086246365
AlexG
2004-06-03 11:06
2004.06.20
Как заставить программу работать на другом компьютере?


14-1086071246
TUser
2004-06-01 10:27
2004.06.20
Посоветуйте алгоритм.


14-1086270670
Семен Сорокин
2004-06-03 17:51
2004.06.20
Утка или нет?




   Наверх