首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java绑定到::0上的IPv4 4-只有机器?

Java绑定到::0上的IPv4 4-只有机器?
EN

Stack Overflow用户
提问于 2014-05-29 20:33:34
回答 2查看 1.2K关注 0票数 0

我有一个Java程序,可以监听端口上的传入连接。我一直使用0.0.0.0作为IP地址,这样它就可以在多主机系统上接受任何IP上的连接。嗯,任何IPv4地址,也就是说,我想切换到IPv6等效的::0,所以它也会接受传入的IPv6连接.但是如果这个代码是运行在IPv4 4系统上的话,它还能工作吗?

UPDATE:在本例中,绑定是以URL的形式表示的--配置ActiveMQ代理--所以我不能提供null

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-02 19:09:42

答案是否定的;它抛出一个SocketException。我实现了上面指定的[::0]实现,并且在我们的机器上引发了以下异常:

代码语言:javascript
复制
2014-06-02 11:51:14,050 [localhost-startStop-1] ERROR Could not initialize broker Failed to bind to server socket: tcp://[::0]:61616/broker due to: java.net.SocketException: Protocol family unavailable
java.io.IOException: Failed to bind to server socket: tcp://[::0]:61616/broker due to: java.net.SocketException: Protocol family unavailable
    at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:33)
    at org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:133)
    at org.apache.activemq.transport.tcp.TcpTransportFactory.doBind(TcpTransportFactory.java:56)
    at org.apache.activemq.transport.TransportFactorySupport.bind(TransportFactorySupport.java:40)
    at org.apache.activemq.broker.BrokerService.createTransportConnector(BrokerService.java:2294)
    at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:289)
    at org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:279)
    [...]

嗯,值得一试。

票数 0
EN

Stack Overflow用户

发布于 2014-05-29 20:40:04

根本不要指定一个监听地址。传递空。然后,您将在主机上收听IPv6和IPv4中的所有NIC,

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

https://stackoverflow.com/questions/23942453

复制
相关文章

相似问题

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