首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

WSAEventSelect异步连接产生10004异常

2012-01-09 
WSAEventSelect异步连接产生10004错误?问题:WSAEventSelect(socket,event,FD_CONNECT)connect(socket,&so

WSAEventSelect异步连接产生10004错误?
问题:  
          WSAEventSelect(socket,   event,   FD_CONNECT);
          connect(socket,   &sockaddr,   &nLen);
          WSAWaitForMultipleEvents()          
          WSAEnumNetworkEvents();
          查看WSANETWORKEVENTS结构体中的iErrorCode
          获得错误信息:10004---A   blocking   operation   was   interrupted   by   a        
                                                      call   to   WSACancelBlockingCall!

          连接环境是同一内网的一台PC,但其连接端口没有开,多数情况下iErrorCode
          获得错误为10061即连接被拒绝,这是正常的;但偶尔出现10004错误,不知原
          因何在?

[解决办法]
是不是重复使用了connect失败的socket句柄?仔细看看代码?
[解决办法]
如果在TCP3次握手过程中被Reset返回的错误就是10061,一般是端口没打开。10004可能是服务器端口打开了,但是在3次握手中超时。通常是服务器的服务器是监听端口的Backlog满了。
[解决办法]
by a call to WSACancelBlockingCall!?是你程序处理不当吗?

热点排行