请问在同一台机器上可以同时并发多少个客户端socket连接??

mill888 2007-05-30 03:56:26
在学习IOCP的时候,我从
http://www.codeproject.com/internet/SimpleIOCPApp/IOCPExecutables.zip
下载了这个例子;然后在同一台机器上运行服务端和客户端;
这个例子的客户端可以用于压力测试,因为例子中可以设置客户端开启N个线程进行连接和发送数据;

如果我把客户端的线程数设置为比较小的一个数字,比如20个,则客户端和服务端运行正常;

既然是压力测试,那么20个的压力是不算什么压力的吧,因为是服务端用的是IOCP哟;

然后我把客户端线程数设置为1000,结果出现了“连接已断开”的错误,服务端出现10054错误,客户端出现10053错误。

难道是程序的bug ,按理说是不会的,因为这个例子在网络上是有多个Fans哟,^_^。

因为是在同一台机器上运行客户端和服务端,难道是受到同一台机器上可以同时并发连接数的问题吗??

请问是否有这个限制??

我用的操作系统是Windows XP。
...全文
1051 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ringerxyz 2007-05-31
  • 打赏
  • 举报
回复
TCP驱动的接受连接队列的大小有限制,这个值可能和操作系统有关吧?看看listen的说明,
Netguy 2007-05-31
  • 打赏
  • 举报
回复
连接数应该只受TCP/IP端口数目、线程个数的限制吧。 线程个数是受限于内存大小的。

IOCP的话,服务器端应该没有几个线程。客户端开的线程数比较多。

内存够的话,1000个连接不成问题。我曾经在2G内存的Win2003机器上同时启动client和IOCP模式的server进行2000个连接的压力测试。客户端开2000个线程和本机的服务器端建立2000个连接,没有问题。
xjtuzhw 2007-05-31
  • 打赏
  • 举报
回复
服务器最大并发线程数量?
试着对10054和10053的错误不去处理
dychenyi 2007-05-31
  • 打赏
  • 举报
回复
我想大概和TCP/IP连接数有限制差不多道理吧
关注

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧