diff --git a/src/main/java/info/istlab/ServerTester/Host.java b/src/main/java/info/istlab/ServerTester/Host.java index 4150779..1fe3b54 100644 --- a/src/main/java/info/istlab/ServerTester/Host.java +++ b/src/main/java/info/istlab/ServerTester/Host.java @@ -36,10 +36,10 @@ JMenu menu = new JMenu("Menu"); menuBar.add(menu); - JMenuItem sendItem = new JMenuItem("Send"); + JMenuItem sendItem = new JMenuItem("現在自ホストで起動しているサーバ情報をブロードキャストで送信"); menu.add(sendItem); sendItem.addActionListener(e -> { - new UDPClient(); + new UDPClient(mainPanel); }); JMenuItem exitItem = new JMenuItem("Exit"); diff --git a/src/main/java/info/istlab/ServerTester/ServerPanel.java b/src/main/java/info/istlab/ServerTester/ServerPanel.java index feedd6d..fb41a3b 100644 --- a/src/main/java/info/istlab/ServerTester/ServerPanel.java +++ b/src/main/java/info/istlab/ServerTester/ServerPanel.java @@ -153,4 +153,12 @@ g2d.drawRect(0, 0, width - 1, height - 1); } + + public String getAvailableServices() { + if (server.thread != null) { + return name + " " + server.getExpectedPort() + " " + server.getExpectedAddress() + " Running"; + } else { + return name + " " + server.getExpectedPort() + " " + server.getExpectedAddress() + " Closed"; + } + } } diff --git a/src/main/java/info/istlab/ServerTester/UDPClient.java b/src/main/java/info/istlab/ServerTester/UDPClient.java index 376a8d1..a7dfbd2 100644 --- a/src/main/java/info/istlab/ServerTester/UDPClient.java +++ b/src/main/java/info/istlab/ServerTester/UDPClient.java @@ -1,13 +1,26 @@ package info.istlab.ServerTester; +import java.awt.Component; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; +import javax.swing.JPanel; + public class UDPClient { public static void main(String[] args) { } - public UDPClient() { + public UDPClient(JPanel mainPanel) { + // 情報収集 + StringBuffer sb = new StringBuffer(); + for(Component c: mainPanel.getComponents()){ + if(c instanceof ServerPanel){ + ServerPanel sp = (ServerPanel)c; + sb.append(sp.getAvailableServices()+"\n"); + } + } + + DatagramSocket socket = null; try { // クライアントソケットを作成 @@ -16,7 +29,7 @@ InetAddress serverAddress = InetAddress.getByName("255.255.255.255"); // 送信メッセージを作成 - String message = "こんにちは、サーバー!"; + String message = sb.toString(); byte[] messageData = message.getBytes(); // データグラムパケットを作成