1

这个问题与多播套接字类似 - 当计算机从睡眠中唤醒时将不起作用。但是这个问题已经结束了,它的解决方案不是我想要的。

我有一个关于多播套接字接收的代码。它可以在 Windows XP、7 和 Mac 上运行。但是现在我发现了一个问题,“当我在windows 7中运行它时,休眠或睡眠PC,然后唤醒PC,套接字无法再接收”。它只发生在 Windows 7 中。在 XP 和 MAC 中没有问题。”

代码是这样的:

final InetAddress group = InetAddress.getByName("234.255.255.255");
final MulticastSocket socket = new MulticastSocket(5555);

socket.setReuseAddress(true);
socket.setTimeToLive(10);
socket.joinGroup(group);

final int length = 4 * 1024;
final byte[] bytes = new byte[length];
final DatagramPacket packet = new DatagramPacket(bytes, length);

while(true) 
{
    socket.receive(packet);
    ...
}
...

有人对此有任何想法吗?

我已经尝试了很多方法来探索它。我曾经使用 WireShark 来监控网络适配器,我可以看到接收到 PC 的多播数据包。但是,java套接字不能一路接收。

4

0 回答 0