diff --git a/src/main/java/info/istlab/ServerTester/Host.java b/src/main/java/info/istlab/ServerTester/Host.java index e47fc88..90c1240 100644 --- a/src/main/java/info/istlab/ServerTester/Host.java +++ b/src/main/java/info/istlab/ServerTester/Host.java @@ -19,7 +19,16 @@ public Host() { setTitle("サーバ管理ウィンドウ"); setSize(300, 200); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); + addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent windowEvent) { + if (multicastReceiver != null){ + multicastReceiver.sender.sendnofity(); + } + System.exit(0); + } + }); setVisible(true); setupMenu(); mainPanel = new JPanel(); diff --git a/src/main/java/info/istlab/ServerTester/MulticastSender.java b/src/main/java/info/istlab/ServerTester/MulticastSender.java index 7059725..a485fed 100644 --- a/src/main/java/info/istlab/ServerTester/MulticastSender.java +++ b/src/main/java/info/istlab/ServerTester/MulticastSender.java @@ -67,4 +67,15 @@ return sb.toString(); } + public void sendnofity() { + String message = ""; + byte[] data = message.getBytes(); + DatagramPacket packet = new DatagramPacket(data, data.length, group, port); + try { + socket.send(packet); + } catch (IOException e) { + e.printStackTrace(); + } + } + }