【发布时间】:2011-08-11 09:19:00
【问题描述】:
我正在尝试将 Jetty 绑定为仅侦听 IPv6 地址。我正在使用 Jetty 7.4.2.v20110526。
我的码头.xml:
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host">::1</Set>
<Set name="port"><SystemProperty name="jetty.port" default="8070"/></Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="confidentialPort">8443</Set>
</New>
</Arg>
</Call>
我得到的错误:
java.net.SocketException@3d3c4c09: Address family not supported by protocol family: bind;
at sun.nio.ch.Net.bind(Native Method)
java.net.SocketException: Address family not supported by protocol family: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:172)
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:297)
at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:250)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
at org.eclipse.jetty.server.Server.doStart(Server.java:269)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
::1 和 [::1] 我都试过了
如何将 Jetty 绑定到 IPv6 地址? Jetty 是否完全支持 IPv6?
【问题讨论】:
-
Jetty 可能在 Java 下运行,
preferIPv4Stack=true禁用 IPv6。 -
@Steve-o 我没有设置这个属性。在测试的早期,我正在创建一个
ServerSocket,它可以毫无问题地收听[::1]:9999。 Java 与它无关。 -
@Steve-o 是的,你是对的。将其发布为答案,我会接受。