在发送wakeonlan数据包时,您需要确保目标设备可以接收数据包。 此时,您正在将数据包发送到设备的IPv4地址。 当您的计算机必须向IPv4地址发送数据包时,它需要知道其MAC地址。所以它问网络“谁拥有IPv4192.168.2.32?告诉我你的mac地址。因为你的电视关机了,所以它没有反应。 真正的wake-on-lan数据包永远不会被发送,因为它不知道目标mac地址。 真正的问题是,为什么它在关闭后直接工作,原因是你的操作系统保留了一个IPv4+mac地址表的列表,所以它可以快速地将数据包发送出去。您可以在Windows上使用命令arp -av查看此列表 请注意,当您的程序成功唤醒电视时,它是如何显示“动态”的,而当无法唤醒电视时,它是如何显示“无效”的。 一种解决方案是将数据包发送到每个设备接收的广播IPv4地址。此IPv4地址通常以.255结尾,具有典型的使用者IPv4范围。