1

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

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)

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

4

1 回答 1

1

你的代码对我有用。

您无需加入群组即可发送给它。只能从它那里得到。但是,如果您加入它,则需要指定一个有效的多播地址的 IP 地址。尽管它在您发布的代码中说了什么,但显然您的实际代码没有使用有效的多播地址。

于 2013-07-18T08:41:43.433 回答