Java 如何确定接收到的数据包是否被广播?

Java 如何确定接收到的数据包是否被广播?,java,udp,broadcast,Java,Udp,Broadcast,广播数据包后,响应地址是我自己的(而不是我预期的x.x.x.255)。如何区分数据包是直接发送给我的还是广播的?当然,当我播放时,我可以推断它是否是 但当另一台设备发送数据时,我不知道该如何判断。Wireshark可以说,但我知道他们做了很多低级的事情。这在Java中可能吗?您是如何接收数据包的?一个MulticastSocket?DatagramSocket,我不知道MulticastSocket。现在我来看看,我的理解是,DatagramSocket只能接收单播数据包,而MulticastS

广播数据包后,响应地址是我自己的(而不是我预期的x.x.x.255)。如何区分数据包是直接发送给我的还是广播的?当然,当我播放时,我可以推断它是否是


但当另一台设备发送数据时,我不知道该如何判断。Wireshark可以说,但我知道他们做了很多低级的事情。这在Java中可能吗?

您是如何接收数据包的?一个
MulticastSocket
DatagramSocket
,我不知道MulticastSocket。现在我来看看,我的理解是,
DatagramSocket
只能接收单播数据包,而
MulticastSocket
可以接收单播和多播数据包。但它们都只是
接收
一个
DatagramPacket
。不知道这是否对你有帮助。也许看看这个:DatagramSocket接收到的广播很好;我不是多播。然而,我尝试了MulticastSocket,它的行为是相同的。您是如何接收数据包的?一个
MulticastSocket
DatagramSocket
,我不知道MulticastSocket。现在我来看看,我的理解是,
DatagramSocket
只能接收单播数据包,而
MulticastSocket
可以接收单播和多播数据包。但它们都只是
接收
一个
DatagramPacket
。不知道这是否对你有帮助。也许看看这个:DatagramSocket接收到的广播很好;我不是多播。然而,我尝试了MulticastSocket,它的行为方式是相同的。