winsock

From
Kirill Neznamov (2:5025/32.88)
To
ALL ()
Date
2003-04-02T18:30:12Z
Area
SU.WINDOWS.NT.PROG
====================<Crosspost Summary>==========================
* Crossposted by Kirill Neznamov (2:5025/32.88)
* Origin Area: SU.NET.PROG ()
* Original mail was from Kirill Neznamov  (2:5025/32.88)
* With: FIPS/32 W95/NT v1.0r
====================<Begin Crosspost: >==========================
Boom Shankar ALL!

Есть такая задача - необходимо одновременно делать
около 300 - 1000 запросов по разным ip с целью получения
разового куска данных. Для всей этой хрени решил
использовать асинхронные сокеты для обработки полученных данных
пока передается или принимается следующая порция. Поэтому возник
такой вопрос - что будет быстрей использовать I/O модель 
WSAAsyncSelect() т.е. в одной нити обрабатывать события 
для всех сокетов или использовать I/O WSAEventSelect()
создовая на каждый сокет по одной нити для обработки сокетных
событий? Конечно, с WSAEventSelect'ом мы можем в одной нити
обрабатывать события для 64 сокетов но тогда эти 64 сокета
получаются как бы "конкурентными" и их "параллельность" работы
становится сомнительной. Честней всего я так думаю что это можно
сделать с помощью Completion Port I/O, но под 9x это работать не
будет :(.
Вообщем подскажите оптимальный способ решения данной проблемы.


WBR,
    KiR
--- F.I.P.S./32 v1.0r W95/NT [M]
 * Origin: Придумай его сам. (2:5025/32.88)