Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.041 c
14-1086234959
try
2004-06-03 07:55
2004.06.20
Shareware


3-1085741047
avgur
2004-05-28 14:44
2004.06.20
Help my!!!!


14-1086339327
Романов Р.В.
2004-06-04 12:55
2004.06.20
Подскажите электронные книги по Delphi для детей.


3-1085646446
AlexXn
2004-05-27 12:27
2004.06.20
BDE


6-1083148113
snake1977
2004-04-28 14:28
2004.06.20
Прослушивание портов