首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java-使用multicastSocket,接收者无法接收广播

java-使用multicastSocket,接收者无法接收广播
EN

Stack Overflow用户
提问于 2017-05-10 08:24:47
回答 1查看 38关注 0票数 1

学习java MulticastSocket,同一个局域网只有机器才能接收到广播,其他设备不能。为什么?是路由器设置问题还是广播地址设置问题?send.java

代码语言:javascript
复制
public class sentServer {
    public static void main(String[] args) {
        String host = "224.0.0.1";
        int port = 9998;String message = "test-multicastSocket";
        try {
            InetAddress group = InetAddress.getByName(host);
            MulticastSocket s = new MulticastSocket();
            s.joinGroup(group);
            DatagramPacket dp = new DatagramPacket(message.getBytes(),message.length(),group,port);
            s.send(dp);
            s.close();
        } catch (UnknownHostException e)
        {
            e.printStackTrace();
        } catch (IOException e)
        {e.printStackTrace();
        }
    }
}

这里设置的监听地址是224.0.0.1

recevier.java

代码语言:javascript
复制
public class reClinet {
    public static void main(String[] args) {
        String host="224.0.0.1";
        int port=9998;
        int length=1024;
        byte[] buf=new byte[length];
        MulticastSocket ms=null;
        DatagramPacket dp=null;
        StringBuffer sbuf=new StringBuffer();
        try {
            ms=new MulticastSocket(port);
            dp=new DatagramPacket(buf,length);
            InetAddress group=InetAddress.getByName(host);
            ms.joinGroup(group);
            System.out.println("port is open");
            ms.receive(dp);
            ms.close();
            int i;
            for(i=0;i<1024;i++){
                if(buf[i]==0){
                    break;
                }
                sbuf.append((char)buf[i]);
            }
            System.out.println("message"+sbuf.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

‘谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-10 08:29:38

如果你在问:为什么只有连接到同一网段的系统才能看到广播?

这就是Java中的 of 广播:客户机连接到特定的服务器;并加入广播组;然后通知该客户端。

如果客户端没有收到这些通知,你必须查看你的网络设置,防火墙,.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43887170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档