2011-08-11 17 views
3

私は、IPv6アドレスだけを聞くようにJettyをバインドしようとしています。私はJetty 7.4.2.v20110526を使用しています。IPv6アドレスへの堤防のバインド

私jetty.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>  

私が取得エラー:

[email protected]: 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) 

私は、IPv6アドレスに桟橋をバインドするにはどうすればよいの両方::1[::1]

を試してみましたか? JettyはIPv6をサポートしていますか?

+0

JettyはJavaでIPv6を無効にする 'preferIPv4Stack = true'を実行している可能性があります。 –

+0

@ Steve-o私はこのプロパティを設定しませんでした。そして以前のテストでは、 '[:: 1]:9999'を何の問題も無く受け入れる' ServerSocket'を作成しています。 Javaはそれとは関係ありません。 – Thresh

+1

あなたは確かですか:http://bugs.sun.com/view_bug.do?bug_id=6230761 –

答えて

3

あなたが解決策を見つけていない場合は、ここにあります。 I/OコネクタでNIOコネクタを変更します。代わりに「org.mortbay.jetty.nio.SelectChannelConnector」を使用してのものであろう「org.mortbay.jetty.bio.SocketConnector」と全体的なコネクターの設定を使用します。

<Call name="addConnector"> 
    <Arg> 
     <New class="org.mortbay.jetty.bio.SocketConnector"> 
     <Set name="port"><SystemProperty name="jetty.port" default="8070"/></Set> 
     <Set name="maxIdleTime">50000</Set> 
     <Set name="lowResourceMaxIdleTime">1500</Set> 
     </New> 
    </Arg> 
</Call> 

あなたがなります。この道をIPv4とIPv6の両方のアドレスを使用してWebページにアクセスできます。お役に立てれば。

+0

この質問に対する回答は無効です。問題は明らかにJetty 7+(org.eclipse.jetty名前空間を使用)を使用しています。あなたの答えはJetty 6にのみ有効です。 –

関連する問題