VC IOCP 客户端connet时报错,异常值为10060

VC IOCP 客户端connet时报错,错误值为10060
本帖最后由 wxliangzyt 于 2013-11-05 09:23:52 编辑
在网上查了一下10060的意思,是:服务端不准客户端连接了

我弄了一个IOCP,把IOCP开在本机,客户端循环connet,都支持上万个连接

当我把IOCP放到外网的另一台机子啥,我本机做客户端,去连接时,却只能连接上几百个。

客户端循环连接的代码如下:

int li=1;
WSADATA data = {0};
if(WSAStartup(MAKEWORD(2, 2), &data))
return ;
if ( LOBYTE(data.wVersion) !=2 || HIBYTE(data.wVersion) != 2 )
{
WSACleanup();
return ;
}
while (true)
{
Sleep(10);
m_Socket[li] = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP);
sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(9527);
server.sin_addr.s_addr = inet_addr("125.82.25.50");

if (connect(m_Socket[li], (struct sockaddr *)&server,  sizeof(struct sockaddr)) == SOCKET_ERROR ) 
{
DWORD Serrs= GetLastError();
CString cs;
cs.Format(_T("%d:%d"),li,Serrs);
AfxMessageBox(cs);
WSACleanup();
return ;
}
}


就算是局域网内,ICOP和测试连接的客户量,放在不同的机子上,也只能连接上千个而已,都一台则上万,就原因,高手指点

------解决方案--------------------
我写了个普通socket,局域网测试连了500台电脑。(估计可以链接2000,微软说的)


最好不要写常链接,用完就断开。