首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UDP丢失数据恢复

UDP丢失数据恢复
EN

Stack Overflow用户
提问于 2015-02-15 03:34:25
回答 2查看 68关注 0票数 0

我正在制作通过UDP接收传感器数据(如陀螺仪)的应用程序,我需要恢复丢失的数据。如何做到这一点?

例如,在太空火箭中如何处理它?你不能要求重传,因为当设备在太空中时,重传的时间太长了。

很抱歉我的语法问题。

//编辑

我忘了说我以固定的频率发送数据包,这样设备就能知道它丢失了什么

EN

回答 2

Stack Overflow用户

发布于 2015-02-15 05:14:11

对于具有非常高等待时间的连接或对于单向连接,通常对数据进行编码,使得不仅可以检测到传输错误,而且可以大部分地修复传输错误。在最简单的情况下,您只需一次又一次地发送相同的数据,希望在一段时间后成功地被对等设备接收到。但还有比这更智能的编码。为了获得一些想法,看看RAID-5和类似的技术是如何工作的,即使磁盘崩溃,数据仍然可以被重现。

票数 0
EN

Stack Overflow用户

发布于 2015-02-15 07:53:18

多年前,我为一个视频通信产品做过类似的事情:对于每个数据包,编号为P0、P1、P2等,您可以选择您需要容忍多长时间的突发丢失。让我们以3个数据包为例。

像往常一样,通过P5发送P0开始通信,但是P6附加了额外的数据: P0和P3的xor。P6具有P1和P4等的xor。如果你丢失了任意三个包,它们都可以重建。如果Pn、Pn+1和Pn+2丢失,您可以将Pn+3与Pn+6上的“额外”数据进行异或,以恢复数据包Pn。

如果您能够负担得起内存和带宽,以最大限度地提高可靠性,我建议让每个数据包携带多个xors。例如,Pn可能与Pn-3和Pn-6的xor以及Pn-12和Pn-24的另一个xor一起提供。

您还可以使用来自接收的反馈机制,该机制允许它告诉发送者更改其恢复特征,发送或多或少的恢复数据并调整间隔。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28519433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档