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

TCP_socket接受数据一段时间后返回10060异常

2012-05-01 
TCP_socket接受数据一段时间后返回10060错误[codeC/C++]while(nRet 0){nRetrecv(hSocket,pBuf,336,0)i

TCP_socket接受数据一段时间后返回10060错误
[code=C/C++]while(nRet> 0)
{
nRet=recv(hSocket,pBuf,336,0);
if(nRet> 0)
      pBuf[nRet]=NULL;
else
      {
CString   error;
error.Format( "nRet=%d\r\nWSAGetLastError=%d ",nRet,WSAGetLastError());
pBuf[0]=NULL;
        }
data+=pBuf;
}
delete   pBuf;  
closesocket(hSocket);
WSACleanup();

[/code]
为什么每次都是当接收一部分数据之后,WSAGetLastError()就返回10060然后数据接受不完全,很费解,希望高手答复。

[解决办法]
〖10060〗-由于连接方在一段时间后没有正确的答复或连接的主机没有反应,连接失败
---是不是网络有问题
[解决办法]

探讨

〖10060〗-由于连接方在一段时间后没有正确的答复或连接的主机没有反应,连接失败
---是不是网络有问题

[解决办法]
int len = 0;
while(nRet>0)
{
nRet=recv(hSocket,pBuf+len,336,0);
if(nRet>0)
{
len += nRet; 
pBuf[nRet]=NULL;
}
else
{
CString error;
error.Format("nRet=%d\r\nWSAGetLastError=%d",nRet,WSAGetLastError());
pBuf[0]=NULL;
}
data+=pBuf;
}

热点排行