我有个问题,我的TCP服务器在accept了50000多个连接后再也不能连接了

bugz 2001-12-13 09:49:53
我有个问题,我的TCP服务器在accept了50000多个连接后再也不能连接了
大概是50000-60000左右的样子,其实每个连接1秒钟内就close了。
但是一到这个数就再也不能连接了,一定要把服务器程序重新开一下,然后就可以了。

我的工作平台是WIN2000 Prof.谢谢。
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjli163 2002-01-26
  • 打赏
  • 举报
回复
一个连接就开一个线程,可是操作系统在线程切换的时候也要消耗不少资源,
这么做效率可能在少量连接的时候比较好,超过几千后可能就下降很多了吧?
bugz 2002-01-26
  • 打赏
  • 举报
回复
我知道了。我的程序是个并发服务器。来一个连接就开出一个线程的。
应该在开出线程后,马上关闭CloseHandle(),线程句柄的。如果不这样做的话。
socket的fd会不停的变大。也就是一定要关闭线程的句柄,系统才会去关闭
socket的句柄的。
superdreamer 2001-12-17
  • 打赏
  • 举报
回复
:)
zb_china 2001-12-17
  • 打赏
  • 举报
回复
我没碰到过
superdreamer 2001-12-14
  • 打赏
  • 举报
回复
一个SOCKET连接也是一个文件描述符,不管哪个操作系统都有最大文件描述符的限制,如果你的TCP连接超过最大的,当然连接不上啦,
jiangfangji 2001-12-14
  • 打赏
  • 举报
回复
说清楚一点行不行?
superdreamer 2001-12-14
  • 打赏
  • 举报
回复
楼上的,看清人家问的是啥?
有理由吗?给个理由,先!哈哈
to bugz:
你把所有的资源都占用完了(文件描述符用完了),当然要重起了!所以在ACCEPT时最好有一个限制,超过他就不让连接。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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