首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将java.net.MulticastSocket绑定到本地主机

如何将java.net.MulticastSocket绑定到本地主机
EN

Stack Overflow用户
提问于 2019-01-09 22:33:31
回答 1查看 472关注 0票数 2

我想将一个MulticastSocket绑定到地址127.0.0.1 (套接字应该只能在当前主机内访问),但是通过下面的代码示例,我得到了一个

代码语言:javascript
复制
java.net.SocketException: Network is unreachable: Datagram send failed exception

有没有办法解决这个问题?以下是我的代码

代码语言:javascript
复制
    int port = 6677;
    InetAddress group = InetAddress.getByName("232.0.1.10");
    try(MulticastSocket s = new MulticastSocket(new InetSocketAddress(InetAddress.getByName("127.0.0.1"),port))){

        String msg = "Hello";
        s.joinGroup(group);
        DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),group, port);
        s.send(hi);
    }
EN

回答 1

Stack Overflow用户

发布于 2019-01-09 23:30:12

与传统的UDP通信相比,组播有点奇怪。整个要点是在一个已知的“通道”上同时向任何想要访问的人共享数据。通过使用224.0.0.1到239.255.255.255范围内的IP地址,将这种共享用信号通知给网络。如果你试图绑定到127.0.0.1,你就不再做多播了。如果你花点时间思考一下,这是有道理的--你不能与其他计算机共享内部接口。

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

https://stackoverflow.com/questions/54112452

复制
相关文章

相似问题

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