Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Вызов асинхронных функций   Найти похожие ветки 

 
Andrei82 ©   (2004-05-09 18:29) [0]

Здравствуйте.

У меня возникла проблема с использованием асинхронной функции WSAAsyncGetHostByAddr(), но вероятно, что эта проблема характерна для любых асинхронных функций.

Суть такова.
Вызываю функцию N раз в цикле. Получаю N ненулевых значений (handle). То есть все N заданий (tasks) должны находиться в процессе выполнения. Так ли это на самом деле? Далее процедура, которая вызывается при получении сообщения от WSAAsyncGetHostByAddr() выполняется N раз, но ПОСЛЕДОВАТЕЛЬНО. Т.е. я ожидал, что все N заданий будут выполняться ПАРАЛЛЕЛЬНО и одновременно вернут мне результат. Но оказалось, что это не так, т.е. равносильно тому, если бы я вызывал функцию N раз последовательно, дождавшись получения результата.

Почему так? Как добиться одновременного выполнения асинхронных функций?

Спасибо


 
neodiX ©   (2004-05-09 19:13) [1]

из MSDN"a:
Note  The WSAAsyncGetHostByAddr function is not designed to provide parallel resolution of several addresses. Therefore, applications that issue several requests should not expect them to be executed concurrently. Alternatively, applications can start another thread and use the getnameinfo function to resolve addresses in an IP-version agnostic manner. Developers creating Windows Sockets 2 applications are urged to use the getnameinfo function to enable smooth transition to IPv6 compatibility.



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

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

Наверх




Память: 0.47 MB
Время: 0.083 c
1-1087547319
Andrew2
2004-06-18 12:28
2004.07.04
Много процессов - одна DLL


14-1087166444
Mobias
2004-06-14 02:40
2004.07.04
???


1-1087737033
*Boba
2004-06-20 17:10
2004.07.04
Edit


14-1087112602
Kolyan
2004-06-13 11:43
2004.07.04
Linux Mandrake 10


3-1086326441
Курдль
2004-06-04 09:20
2004.07.04
Научите меня быть умным! (.NET) Отсоединенное соединение.