>>请详细说说什么是“重叠I/O”?
所谓“重叠I/O”,就是overlapped I/O,这个在侯捷翻译的《Win32多线程程序设计》里
说得比较清楚,你可以找来看看,也可以看看下面几篇文章,相信很简单:
设备I/O之OVERLAPPED xrbeck(原作):
http://www.csdn.net/develop/article/14/14204.shtm
12.3 串行通信与重叠I/O
http://sanjianxia.myrice.com/teach/vc/chap12_3.htm
用Win32 API实现串行通信
http://www.ccw.com.cn/htm/app/aprog/01_7_3_2.asp
>>方法二:用线程。不过用线程一样涉及到遍历列表1000次的延时。
延时并不在于遍历过程,而应该在于遍历完成之后,各个线程与客户端的通信上
因为遍历完全可以做到象Post一条Message一样简单,而PostMessage 1000次不会慢吧!
看了半天也没见你说你的Server是怎么响应Client的,难道不是每个Client建立一个线程
来为其服务吗?我印象中,Indy的SocketServer就是这么干的。
说说你的做法?