VC 做的控件 用socket方式传输 大数据量数据 会丢数据,高分求解

maojsh2002 2010-01-28 05:31:54
我用vc的socket做了服务器端的控件和客户端的接收应用程序,现在进行大数据量测试,大概有26个线程的通道他是发送并且接收数据,接收方客户端的缓冲块大小设为2k,
但是
iiRecd = recv(sd,(char*)recdData, iiGet,0);
if ( iiRecd == SOCKET_ERROR || iiRecd == 0 )
TRACE ("Send Error=%d\n",iiRecd);
定期会出现这样的报错,非常郁闷 请大家帮忙看看 谢谢
...全文
268 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2010-04-26
  • 打赏
  • 举报
回复
网络收发出现错误很正常,关键是你要规划好出现错误后的处理。
never_colorful 2010-02-28
  • 打赏
  • 举报
回复
您访问网络的权限被限制了.常见于系统安装了防病毒防火墙,. 如江民防病毒邮件监控.
TRUE 2010-02-23
  • 打赏
  • 举报
回复
由于是你的程序的原因,造成了链接中断,你可以建立日志的方式,看看是在哪中断链接了。看看是否由于是多线程的原因造成的影响。
贝神 2010-02-09
  • 打赏
  • 举报
回复
你在每次接收完毕的时候调用
AsyncSelect(FD_CLOSE|FD_READ|FD_WRITE);
(CSocket的调用同名成员函数)
这样就不会漏包了.
WizardK 2010-02-01
  • 打赏
  • 举报
回复
TCP HOST断开连接了,你的记录信息不全,CLOSE没有看到。
Eleven 2010-02-01
  • 打赏
  • 举报
回复
应用程序断开了连接??
Eleven 2010-02-01
  • 打赏
  • 举报
回复
An established connection was aborted by the software in your host machine.
vercitti 2010-02-01
  • 打赏
  • 举报
回复
接受阻塞然后超时?

设定下超时时间看看呢
csl312211865 2010-01-31
  • 打赏
  • 举报
回复
您的主机中的软件放弃了一个已建立的连接。
bilaopao 2010-01-31
  • 打赏
  • 举报
回复
不熟悉socket ps:你发错位置了吧
maojsh2002 2010-01-28
  • 打赏
  • 举报
回复
错误信息是WSAGetLastError()=10053

18,356

社区成员

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

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