0

特定のポートで MulticastSocket を作成し、グループに参加しています。現在、ソケットはブロードキャストされている限り、データパケットを受信し続けます。そのため、常に true である while ループで socket.receive を呼び出します。今はグループを離れることはありません。しかし、プログラムを終了すると、ソケットは自動的に閉じますか? これについて明確にする必要があります。

また、そのグループを離れてソケットを閉じる必要がある場合、どうすればそれを達成できますか? addShutdownHook を使用してみました

Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
                public void run() {
                    System.out.println("Closing Broadcast Port");
                    multi.shutsocket();
                }
            }, "Shutdown-thread"));

しかし、奇妙な理由で機能していません。

4

0 に答える 0