1

Java でチャット サーバー マルチキャスト プログラムを作成しようとしていますが、期待どおりに動作しません。

ChatClient.java と ChatServer.java (以下のコード) の 2 つのファイルがあります。

ChatClient はサーバーにメッセージを送信します。サーバーはメッセージを受信して​​出力することを意図していますが、メッセージを受信しません。なぜでしょうか?

クライアントコード:

public class ChatClient {

 public static void main(String args[]) throws Exception {

 MulticastSocket chat = new MulticastSocket(8885);
 InetAddress group = InetAddress.getByName("224.2.2.5");
 chat.joinGroup(group);

 String msg = "";
 System.out.println("Type a message for the server:");
 BufferedReader br = new BufferedReader(new
 InputStreamReader(System.in));
 msg = br.readLine();
 DatagramPacket data = new DatagramPacket(msg.getBytes(), 0, msg.length(), group, 8885);
 chat.send(data);
 chat.close();
 }
}

サーバーコード:

public class ChatServer {

public static void main(String args[]) throws Exception {

 MulticastSocket server = new MulticastSocket(8885);
 InetAddress group = InetAddress.getByName("224.2.2.5");
 //getByName - returns IP address of the given host
 server.joinGroup(group);

 boolean infinite = true;
 /* Server continually receives data and prints them */

 while(infinite) {

  byte buf[] = new byte[1024];
  DatagramPacket data = new DatagramPacket(buf, buf.length);
  server.receive(data);
  String msg = new String(data.getData()).trim();
  System.out.println(msg);
 }
 server.close();
 }
}
4

0 に答える 0