javascript - 如何使用 UDP 协议构建可靠的 P2P 数据传输
问题描述
正如您在标题中看到的那样,我必须使用 UDP 构建可靠的 P2P 数据传输(我是学生),所以我要求你们不要给我代码,实际上,我非常讨厌复制和粘贴,这样做我感到很痛苦,我正在寻求帮助,告诉我我需要什么工具,我熟悉 Javascript 和 Java 和 Python,如果你知道这些语言中的任何一种,请随时帮助我。
可靠性部分将通过校验和和 ACK(确认)来实现,所以我必须实现它们:-我知道如何计算校验和。-ACKs 可以通过 Stop-and-wait 协议的方式来实现(我认为这是最简单的一种),如果你知道另一种协议,那也没关系。
我真的迷路了,如果您有一些代码示例,我不知道从哪里开始,请分享一个有用的链接,这样我就可以从哪里开始构建一个想法。
谢谢。
解决方案
以下是 github 中一些可靠的 UDP 示例,例如 kcp、quic、utp。您可以阅读它们并从中获取基本信息。
至于怎么做,有一些小建议:
- 您需要 ACK 来检查是否有任何数据包/数据报丢失,然后重新传输它
- 您需要使用 FEC
- 拥塞算法可以稍后考虑。
当你尝试构建自己的代码时,每一步都要做一个小目标,不要一开始就构建复杂的协议。
推荐阅读
- sqlite - 我无法列出在 osquery 5.0.1 上加密的磁盘
- java - 如何仅获取分页资源的 HAL-FORMS 模板(页面大小 = 0 不起作用)
- ubuntu - 一切都指向反向代理
- c - 算法最坏情况 O(n²) 优于 Ω(n log n) 最坏情况?
- python - Discord api websocket网关连接在一段时间后断开
- gradle - 如何解决“无法读取 PGP 密钥”的 gradle 错误?
- r - R- 使用 mutate 转换为年月日时出错
- google-sheets - 如何根据 Google 表格中另一个单元格的数据验证下拉列表中的选项更改单元格值
- javascript - 在JS中获取智能合约的返回值
- javascript - 请求帮助对 HTML 表单/卡片进行故障排除