Socket 传文件问题(tcp)?

我用了两个线程一个是不断的读文件然后用send发出去直到问题结束然后用在另一台电脑启动一个接收问件的线程用while(1)一直接收(recv)直到收到一个结束标志就退出但... 我用了两个线程 一个是不断的读文件然后用send发出去 直到问题结束 然后用在另一台电脑启动一个接收问件的线程用while(1)一直接收(recv)直到收到一个结束标志就退出 但问什么有时候能接收成功 有时候不能呢 好像传小文件的成功率比较大 问什么呢 有什么解决办法吗 谢谢
如果给自己发文件的话,好像每次都有能成功啊,不明白啊
展开
 我来答
百度网友403775daf
2009-11-27 · TA获得超过182个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:169万
展开全部
发送的速度不要太快~! 必须有一个缓冲~! 我一般使用 Sleep
函数在读取文件发送的循环过程中停留 大约100毫秒左右Sleep(100)~!
不然两个连续的数据包很有可能会被并为一个数据包~! 你的文件结束标志
会根最后一个文件数据包并为一个数据包从而影响判断~!
发送文件我一般 先发送文件大小 然后接着发送文件
接收端收到与文件大小相同数量的字节后判断文件接收完毕~!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式