今天的测试真他奶奶的叫人郁闷,完成端口+AcceptEx 在高并发连接时,还不如 WSAAsyncSelect ??? ( 积分: 50 )

  • 主题发起人 主题发起人 QSmile
  • 开始时间 开始时间
Q

QSmile

Unregistered / Unconfirmed
GUEST, unregistred user!
今天的测试真他奶奶的叫人郁闷,完成端口+AcceptEx 在高并发连接时,还不如 WSAAsyncSelect ??

做了个完成端口的模型,

开始是用一个线程 Accept 所有连接,结果在测试时,短时间内并发 1000个连接,(1000个连接,3秒并发)结果只有500多能连上。

然后用 AcceptEx + Socket Handle Pool, 还是建一个 1000的池,还是会丢。只能连上 600多点吧。

郁闷,我用 ICS 的 SocketServer 控件。它是基于 WSAAsyncSelect 的。居然只丢十多个,有时居然能全连上。

叫我如何能不郁闷?我的方法错了?
 
可能是你的服务端写的不完善
服务端用完成端口,客户端用异步Select,算是C/S中连接的最佳模式了,测试时6500个连接以上才会出问题,你再查查吧
 
唔,不太可能,合理的分配线程IOCP才会高效。
 
连接接入率,MS自己公布的测试结果,IOCP是不如EventSelect的.
 
连接接入率,MS自己公布的测试结果,IOCP是不如EventSelect的.

---------------
那 EventSelect 与 AsyncSelect 呢?哪个强点
 
EventSelect最强.其它的记不清了,呵呵.同时接入率在应用中不重要.
 
是吗?楼主将测试的EXE发上来看看,或者那测试代码发一些来看看。
我记得我测试不会啊。
 
楼上的,你的邮箱多少?
 
多人接受答案了。
 
后退
顶部