この質問はマルチキャスト ソケットの場合と似ています。コンピューターがスリープ状態から復帰すると機能しません。しかし、その質問はすでに解決されており、その解決策は私が望むものではありません.
マルチキャストソケット受信に関するコードがあります。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 ソケットは完全に受信できません。