请教一个UDP拆包发送JPEG文件的问题,谢谢!
打算用UDP拆包发送文件,底层采集设备只支持每次发送1K多字节的包,文件有几十K大小,需要拆包发送,简单把文件拆成1K大小的数据包,增加一个顺序标志,接收方接收到数据后组合起来,可行吗?有一个问题是万一某包丢失,我在这个包的位置填充上FF,未丢失的数据部分图片可以解码出来看吗?意思就是丢失一部分数据,是可以解码部分图片,还是整个图片都完了。有经验的朋友指点下,谢谢! 肯定分包的,以太网一个包也就1400多有效数据,你不能用应答重传吗?超时没有回复重传这个包 NJ8888 发表于 2015-10-19 20:34肯定分包的,以太网一个包也就1400多有效数据,你不能用应答重传吗?超时没有回复重传这个包 ...
想提高速度啊,一问一答,传输速度就下来了吧? jpeg文件丢失关键数据会导致整幅图无法显示 打完一次应答,汇报收到哪些,丢了哪些 sddp001 发表于 2015-10-19 21:30
打完一次应答,汇报收到哪些,丢了哪些
应答丢了重传所有? 你不是有顺序标识吗 本帖最后由 SkyGz 于 2015-10-19 21:44 编辑
NJ8888 发表于 2015-10-19 21:31
应答丢了重传所有?
丢了, 重传 缺失的包,你也说了 拆分 N个包,有顺序标志
第一次传送 你的文件 将被 拆分多少个包给目标
接着依次传送 每个包
目标 按顺序标志 检查,如缺了 第3个包,回复让重传第3个包的数据...
或者每传一个包+校验码, 目标收数据校验一下,码不对,要求重传一次,直到正确, 再 传下一个包 添ff不行。丢的重传。 你不是想单向,不应答吧? 接收方平时不回复,出错了才重新同步序号,这样就不会影响性能了。 杀手,你用ultraedit把jpg文件某些位改成ff不久实验出结果了么 一般情况下 , 网络传输实时视频流是允许丢帧的,只要一个分片丢失,整帧丢弃即可. 自己模拟一个TCP还不如直接使用TCP 同意ls,不如直接用tcp 把数据交织,加前向校验,不回传不应答,加快速度。如果要准确,要应答,不好意思,UDP真不如TCP。不想折腾,还是用TCP吧。当然,JPEG丢点包包不会有太大影响,一般来说就是图片错起、图片显示不完。
页:
[1]