今天的测试真他奶奶的叫人郁闷,完成端口+AcceptEx 在高并发连接时,还不如 WSAAsyncSelect ???
今天的测试真他奶奶的叫人郁闷,完成端口+AcceptEx 在高并发连接时,还不如 WSAAsyncSelect ??
做了个完成端口的模型,
开始是用一个线程 Accept 所有连接,结果在测试时,短时间内并发 1000个连接,(1000个连接,3秒并发)结果只有500多能连上。
然后用 AcceptEx + Socket Handle Pool, 还是建一个 1000的池,还是会丢。只能连上 600多点吧。
郁闷,我用一个基于 WSAAsyncSelect 的TCP Server 来测试。居然只丢十多个,有时居然能全连上。
叫我如何能不郁闷?我的方法错了?
[解决办法]
没这么差吧,可以检查下代码
[解决办法]
不要试图自己实现IOCP,有现成的库可以用,ACE proactor模式,还有boost.asio
[解决办法]
你自己的问题而已,我做过测试的,WsaAsynSelect消息方式的是比较差的。
[解决办法]
mark啦, 等楼主找到原因.