我正在编写一个需要将图片从多个发送者发送到多个接收者的应用程序。这已经通过 TCP 实现,但我希望能够获得更好的速度,所以我正在研究多播。UDP太不可靠了。PGM 看起来像是解决方案,但我仍然不清楚它的一些细节:
- 在某些地方,它声明:“PGM 不支持确认传递,也不保证对来自多个发送者的数据包进行排序。” 这是否意味着以下内容:发送方 A 发送 5 个数据包,发送方 B 发送 - 3。接收方接收到假设 A 的前 3 个数据包以正确的发送顺序发送,然后例如来自 B 的前 2 个数据包以正确的发送顺序发送然后是A的最后2个。所以最后我有A1,A2,A3,B1,B2,A4,A5。或者这是否意味着即使来自给定来源的数据包也不会按顺序排列,例如在给定的情况下:A2、A5、B2、A4 ......?我希望这个问题不会太令人困惑。
- “PGM 是一种可靠且可扩展的多播协议,它使接收者能够检测丢失、请求重新传输丢失的数据或通知应用程序丢失不可恢复的情况。” 我的问题是关于不可恢复损失的通知。我无法理解这究竟意味着什么。它会为应用程序提供足够的信息,以便它可以尝试重新发送数据包吗?