在java中组播消息时出错

时间:2013-07-18 06:37:11

标签: java sockets multicast multicastsocket

我需要跨连接的客户端多播消息但遇到问题。我为this链接尝试了以下代码段:

String msg = "Hello";
InetAddress group = InetAddress.getByName("228.5.6.7");
MulticastSocket s = new MulticastSocket(6789);
s.joinGroup(group);
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
                         group, 6789);
s.send(hi);

我得到一个例外:

java.net.SocketException: Not a multicast address

我试过了:

  • 本地主机
  • 127.0.0.1
  • 192.168.1.29(我的本地IP)

可能出了什么问题。作为这个主题的新手,我无法调试它。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您的代码适合我。

您无需加入群组即可向其发送内容。只收到它。但是,如果您加入它,则需要指定一个有效多播地址的IP地址。尽管它在您发布的代码中说明了,但显然您的实际代码不使用有效的多播地址。