从多播组中收到的DatagramPacket确定发送方

时间:2013-12-09 18:47:59

标签: java sockets multicast sender identify

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

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

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

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

1 个答案:

答案 0 :(得分:0)

源地址始终为unicast。换句话说,数据传输始终从single源开始。因此,无论我们在网络中考虑哪个节点,它获得的数据包都将具有源MAC地址目标MAC地址(将进行多播)。使用源MAC地址,您应该能够轻松地告知发送方的数据包。我相信你已经错误地模拟了你的问题。向我们提供您的UML图表/代码,以便我们更好地分析它。