diff --git a/src/main/java/info/istlab/ServerTester/MulticastReceiver.java b/src/main/java/info/istlab/ServerTester/MulticastReceiver.java index 0e311e1..85dcbf0 100644 --- a/src/main/java/info/istlab/ServerTester/MulticastReceiver.java +++ b/src/main/java/info/istlab/ServerTester/MulticastReceiver.java @@ -29,8 +29,9 @@ } catch (IOException e) { e.printStackTrace(); } + String addr = packet.getAddress().getHostAddress(); String message = new String(packet.getData(), 0, packet.getLength()); - System.out.println("受信: " + message); + System.out.println(addr+"からの受信: " + message); } } diff --git a/src/main/java/info/istlab/ServerTester/MulticastSender.java b/src/main/java/info/istlab/ServerTester/MulticastSender.java index ebcd863..606550b 100644 --- a/src/main/java/info/istlab/ServerTester/MulticastSender.java +++ b/src/main/java/info/istlab/ServerTester/MulticastSender.java @@ -1,12 +1,15 @@ package info.istlab.ServerTester; +import java.awt.Component; import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; -import java.util.Random; + +import javax.swing.JPanel; public class MulticastSender implements Runnable { + Thread thread; MulticastSocket socket = null; public String message; @@ -27,9 +30,10 @@ @Override public void run() { - Random rand = new Random(); + String serverinfo = getServerInfo(); + while(thread != null){ - String message = "from "+App.ipAddr + " "+rand.nextInt(100) ; + String message = serverinfo; // "from "+App.ipAddr + " "+rand.nextInt(100) ; byte[] data = message.getBytes(); DatagramPacket packet = new DatagramPacket(data, data.length, group, port); try { @@ -39,7 +43,7 @@ } try { - Thread.sleep(2000); + Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } @@ -47,4 +51,21 @@ } + private String getServerInfo() { + JPanel mainPanel = Host.mainhost.mainPanel; + // 情報収集 + StringBuffer sb = new StringBuffer(); + for(Component c: mainPanel.getComponents()){ + if(c instanceof ServerPanel){ + ServerPanel sp = (ServerPanel)c; + sb.append(sp.getAvailableServices()+"\n"); + } + if (c instanceof ServerPanel4WS) { + ServerPanel4WS sp = (ServerPanel4WS) c; + sb.append(sp.getAvailableServices() + "\n"); + } + } + return sb.toString(); + } + }