为了账号安全,请及时绑定邮箱和手机立即绑定

当您需要可靠的UDP时,您会使用什么?

当您需要可靠的UDP时,您会使用什么?

当您需要可靠的UDP时,您会使用什么?如果您的TCP连接可能太慢并且UDP“连接”可能太不可靠,您使用什么?有各种标准的可靠UDP协议,你有什么经验吗?请在每个回复中讨论一个协议,如果其他人已经提到您使用的协议,则考虑将其投票并使用评论进行详细说明(如果需要)。我对这里的各种选项感兴趣,其中TCP位于规模的一端而UDP位于另一端。提供了各种可靠的UDP选项,每个选项都带有TCP到UDP的一些元素。我知道TCP通常是正确的选择,但是有一个备选列表通常可以帮助我们得出结论。像UDP,RUDP等基于UDP构建的东西各有利弊,你使用它们,你的经历是什么?为避免疑问,没有更多的信息,这是一个假设的问题,我希望这个问题会引出一份回复清单,详细说明需要做出决定的人可以使用的各种选项和备选方案。
查看完整描述

3 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

如果没有关于问题领域的一些额外信息,很难回答这个问题。例如,您使用的数据量是多少?多常?数据的性质是什么?(例如,它是唯一的,一个是关闭数据吗?还是一个样本数据流?等等)你在开发什么平台?(例如,桌面/服务器/嵌入式)要确定“太慢”的含义,您使用的网络介质是什么?

但在(非常!)一般术语中,我认为你必须非常努力地尝试使用tcp来提高速度,除非你可以对你试图发送的数据做出一些严格的假设。

例如,如果您尝试发送的数据是这样的,您可以容忍丢失单个数据包(例如,采样率比信号带宽高很多倍的定期采样数据)那么您可能通过确保您可以检测到数据损坏(例如,通过使用好的crc)来牺牲一些传输可靠性

但是如果你不能容忍丢失单个数据包,那么你将不得不开始介绍tcp已经拥有的可靠性技术类型。并且,如果不进行合理的工作量,您可能会发现您已经开始将这些元素构建到用户空间解决方案中,并解决所有固有的速度问题。


查看完整回答
反对 回复 2019-08-26
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

任何决定上面的列表不够并且他们想要开发他们的OWN可靠UDP的人肯定应该看看Google QUIC规范,因为这涵盖了许多复杂的角落案例和潜在的拒绝服务攻击。我还没有玩过这个的实现,你可能不想要或者不需要它提供的所有东西,但是在开始一个新的“可靠的”UDP设计之前,这个文件非常值得一读。

在Chromium博客上,QUIC的一个很好的起点就在这里

可以在此处找到当前的QUIC设计文档。


查看完整回答
反对 回复 2019-08-26
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

RUDP。许多用于游戏的套接字服务器实现了类似


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 553 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信