读书人

TCP_socket接受数据一段时间后返回100

发布时间: 2012-05-01 12:48:58 作者: rapoo

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;
}

读书人网 >VC/MFC

热点推荐