TCP_socket接受数据一段时间后返回10060错误

yangbear111 2010-12-14 12:28:49
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();


为什么每次都是当接收一部分数据之后,WSAGetLastError()就返回10060然后数据接受不完全,很费解,希望高手答复。
...全文
701 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
XTIAQGNUI 2012-07-24
  • 打赏
  • 举报
回复
看到这个 有种骂娘的冲动 +1
wcg37 2012-07-13
  • 打赏
  • 举报
回复
看到这个 有种骂娘的冲动
xiaoxiaobo2012 2012-05-25
  • 打赏
  • 举报
回复
不厚道啊
CC第N次 2012-04-29
  • 打赏
  • 举报
回复
怎么解决的 ? 我也遇到这样的问题?
finder518 2011-03-22
  • 打赏
  • 举报
回复
老大,你解决也也跟大家分享一下嘛!
yangbear111 2010-12-14
  • 打赏
  • 举报
回复
还是自己解决了,不过也很高兴大家帮忙
yangbear111 2010-12-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yangbear111 的回复:]
引用 1 楼 oyljerry 的回复:
〖10060〗-由于连接方在一段时间后没有正确的答复或连接的主机没有反应,连接失败
---是不是网络有问题

我知道这个错误的意思,但是我不清楚如何解决
[/Quote]
应该不是这里的问题吧,我有时候很正常但是有时候就接收数据不完全,返回10060,很奇怪
yangbear111 2010-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]
〖10060〗-由于连接方在一段时间后没有正确的答复或连接的主机没有反应,连接失败
---是不是网络有问题
[/Quote]
我知道这个错误的意思,但是我不清楚如何解决
Eleven 2010-12-14
  • 打赏
  • 举报
回复
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;
}
zzw820626 2010-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]

〖10060〗-由于连接方在一段时间后没有正确的答复或连接的主机没有反应,连接失败
---是不是网络有问题
[/Quote]
+
oyljerry 2010-12-14
  • 打赏
  • 举报
回复
〖10060〗-由于连接方在一段时间后没有正确的答复或连接的主机没有反应,连接失败
---是不是网络有问题

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧