有没有办法将UDP数据包发送到网络MAC地址? DatagramSocket和DatagramPacket似乎都没有这样做的机制。
答案 0 :(得分:2)
简短的回答是否定的。建立网络stack以使硬件地址能够在OS的媒体层中寻址,其中仅具有与传输层公开的应用程序的定义接口。您需要使用低级操作系统。看起来您正试图在Java中进行此调用,并且您很可能无法实现此目标。
答案 1 :(得分:2)
由于分层网络堆栈,第一个响应是您无法将UDP消息发送到MAC地址。我的陈述意味着您无法在UDP数据报字段中设置MAC地址。您可以将UDP数据报发送到IP地址和端口。该IP地址可以是单播,多播或广播。
如果您打算将UDP数据报发送到特定的MAC地址,则需要实施更复杂的解决方案(DHCP是更复杂解决方案的示例)。您可以采用不同的策略: