未处理的多播消息

时间:2017-02-12 07:59:51

标签: java

我的界面上有以下数据流:

  

08:52:45.777966 IP CICO.5120> 224.7.7.254.5701:UDP,长度30

     

08:52:45.778293 IP CICO.5120> 224.7.7.254.5701:UDP,长度27

     

08:52:46.176872 IP CICO.5120> 224.7.7.254.5701:UDP,长度30

我写了一个java类,它应该接收并详细说明这些数据包,这里是类的一部分:

DatagramPacket rxPachet = new DatagramPacket(buff, buff.length);
try {
    String group = "224.7.7.254";
    MulticastSocket udpSocket = new MulticastSocket(5701);
    udpSocket.joinGroup(InetAddress.getByName(group));
    while (true) {
        new ShowMessage("....inside.....");
        try {
            udpSocket.receive(rxPachet);
            buff = rxPachet.getData();
            // SOME OTHER STUFF......

但是当我运行我的应用程序时,我看不到任何数据包被处理。

1 个答案:

答案 0 :(得分:-1)

我想我发现了问题,这里是班级的新剪辑:

MulticastSocket udpSocket = new MulticastSocket(5701);
udpSocket.joinGroup(new InetSocketAddress("224.7.7.254", 5701), NetworkInterface.getByName("vmnet2"));

还有一件事,我必须添加选项-Djava.net.preferIPv4Stack = true如果在mac上运行,否则我得到异常"无法打开多播套接字"。 谢谢大家。