请教文件传输数据丢失的问题(自己弄了2天拉)

hzhmabiao1984 2006-04-21 06:40:49
请问为什么用TCP进行文件传输的时候(局域网),会出现数据丢失的情况啊?不是说TCP是可靠的吗?难道我自己需要进行send()返回值的判断吗?请教啊,第一次提问。
我测试的时候有这么些情况:传比较小的文件不会有丢失(比如1M内),但是传大的文件的时候就会有丢失,越大好像丢失的越多。而且并不是每次都丢失,比如10次里面有3,4次可能能够很完整的接收到。丢失的时候传700M的文件,会有5M左右的丢失,也有时候只出现6000多字节的丢失(传700M的文件没有成功接收过)。
我用的是API的SOCKET,发送文件采用的是线程,接收文件采用的是在FD_READ里面响应。两边send和recv的接收缓冲设置的长度是一样的,文件结束的判断也没有问题(我觉得)。
请问这是什么原因啊?(真是没办法啊,请各位帮帮忙,在线等啊。。。不然睡不好啊)
...全文
113 2 点赞 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
_____non______ 2006-04-21
不是丢包,是粘包~~~

自己找找相关文章
  • 打赏
  • 举报
回复
fengge8ylf 2006-04-21
send并不一定能一次把指定长度的数据发送出去 需要循环发送
  • 打赏
  • 举报
回复
相关推荐
发帖
网络编程
加入

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2006-04-21 06:40
社区公告
暂无公告