0

我正在某个端口创建一个 MulticastSocket,然后加入一个组。现在,只要数据包被广播,套接字就会不断接收数据包。所以我在一个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