高分求教,使用accept超过10个连接后,客户端就再无法连接的问题
阿甘 2005-11-10 04:40:10 在一个线程中循环accept客户端的连接,当有客户端接入时启动处理线程,并继续等待下个客户端的接入。
在没有一个客户端断开的情况下,第11个客户端根本无法连接上服务器端,也就是accept函数不返回。
这是什么原因啊?怎么解决?系统环境:xp sp2。注:不能使用完成端口模式。
求教各位大虾了,下面的接受连接的服务器端代码部分:
while (1)
{
ZeroMemory(&lsAddr,sizeof(sockaddr));
lhAcceptSocket = accept(mhListenSocket,&lsAddr,&liAddrLen);
if (lhAcceptSocket == INVALID_SOCKET)
{
TRACE0("ListenProcess accept failed! Err:" << WSAGetLastError());
break;
}
StartThread(lhAcceptSocket);
lhAcceptSocket = INVALID_SOCKET;
}