难题!socket使用tcp连接超过1000个以后整个系统有问题了
程序创建并连接了1000个以上的SOCKET 以后, 新的连接可以创建, connect也可以连接得上, 就是不能收发数据. 而且WSASend和WSARecv 函数没有返回错误.
用网卡监视程序查到数据没有发送出去. 仔细看了看, 发起方只发送了一个封包数据(不确定是否已经被对方接收到), 也就是说三次握手还没完成.
此时, 整个系统都不能使用新的连接了, 浏览器, ping之类的都不能用. 但是之前创建的连接还能继续收发数据.
系统是xp sp2.
注1: MaxUserPort, MaxFreeTcbs 等注册表变量已经改过. 无效
注2: 应该不是半开连接数的问题.
注3: 不是内存不够, 除了不能使用网络, 系统运行还是很流畅的.
这是什么问题?