搜索
bottom↓
回复: 9

tcp大数据传输过程中被中断应该如何处理呢?

[复制链接]

出0入22汤圆

发表于 2021-6-8 16:55:44 | 显示全部楼层 |阅读模式
如题,比如我从电脑向板子传输4G的数据,传输方式使用TCP。通常情况下tcp不需要考虑可靠性和顺序性。不过有些情况下需要进行处理。
如果在传输到1G的时候,tcp连接断了,那么两边再次连接起来的时候,是不是需要通过交互,告诉电脑从哪个地方开始断点续传?
那么刚刚断开的地方,板子收到的数据可靠性能保证正确吗?
还是说需要丢弃一部分,让电脑多往前传一点?
如果是的话,一般这种情况,丢弃多少是能够保证不出错的?
谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2021-6-8 17:03:27 | 显示全部楼层
去看看http,断点续传功能就可以了

出20入186汤圆

发表于 2021-6-8 17:12:24 | 显示全部楼层
传输一点,自己内部累加一个长度就好了,TCP可以包证收到的数据包是对的

出0入0汤圆

发表于 2021-6-8 18:56:48 | 显示全部楼层
把大数据分为多个小数据包,传完一包确认一下,发生中断,从中断之前的一包数据开始传

出0入0汤圆

发表于 2021-6-8 19:10:11 | 显示全部楼层
请加上分片校验功能,不要相信任何人,包括你自己。

出0入46汤圆

发表于 2021-6-8 19:24:16 | 显示全部楼层
如果你用http协议,那么确保服务端支持断点续传,接收端需要做断点支持。如果是你自己直接基于tcp实现,那么接收到数据缓存块写入文件之后,文件长度上能知道你已经接收了多少。下次向服务器发请求,从某个位置开始就行。也就稍微复杂一些。

出0入36汤圆

发表于 2021-6-9 11:22:14 | 显示全部楼层
分包啊,tcp自定义协议传大文件必须要分包,不仅仅是断点续传的需求,合理分包大小还可以极大提高tcp传输效率

出0入4汤圆

发表于 2021-6-10 08:35:49 | 显示全部楼层
分包.  一个包1400byte多点.  建立连接后, 由服务器发回文件名字, 起始字节, 包序号........

出0入59汤圆

发表于 2021-6-10 08:57:13 | 显示全部楼层
tcp断了,之前传送一半的数据肯定就没有了, 传送上G大小的数据,工程上不会使用一个TCP包扔过去就不管的方案

出0入1209汤圆

发表于 2021-6-10 09:16:12 | 显示全部楼层
你板子上装个迅雷不就搞定了?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 18:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表