1

我正在尝试在 Java 中实现一个多播组,其成员可以DatagramPackets使用MulticastSockets. 发送者依靠接收成员的确认来确保所有成员都收到了传输的文件。

我的问题是接收成员是否有可能确定数据包的发送者,因为所有成员都通过他们加入的多播地址发送和接收数据包。

这应该可以通过为每个成员分配一个 ID 来实现,该 ID 将包含在传输的第一个数据包中(作为一种前导码),但我想知道是否有更好的解决方案。

是否有任何可用于确定发送者的信息存储在已DatagramPacket发送邮件中?

4

1 回答 1

0

源地址总是unicast. 换句话说,数据的传输总是从single源头开始的。因此,无论我们考虑网络中的哪个节点,它获取的数据包都将具有源 MAC 地址目标 MAC 地址(将是多播的)。使用源 MAC 地址,您应该能够轻松地告诉数据包的发送者。我相信您对问题的建模不当。向我们提供您的 UML 图/代码,以便我们更好地分析它。

于 2013-12-09T19:06:52.017 回答