Главная страница
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.037 c
1-1086330853
TGrey
2004-06-04 10:34
2004.06.20
Передача сообщений из потока


3-1085727739
Tomkat
2004-05-28 11:02
2004.06.20
Fastreport 2.52


1-1086678754
shelest
2004-06-08 11:12
2004.06.20
перенос курсора в MaskEdit.


14-1086152166
Anatoliy
2004-06-02 08:56
2004.06.20
Курорты Турции


1-1086524949
Дас Виндовс 45
2004-06-06 16:29
2004.06.20
Сортировка