6

私はおそらく、これまでで最も奇妙な Java の問題の 1 つを抱えています。Wrapper (つまり I2P ルーター) などのアプリケーションを起動しようとしたところ、次の結果が得られました。

-ルーターログの一部-

03.12.12 21:07:31 ERROR [JobQueue 1/1] p.router.transport.UPnPManager: UPnP start failed - port   conflict?

03.12.12 21:07:31 CRIT  [JobQueue 1/1] ter.transport.ntcp.EventPumper: Error opening the NTCP selector
java.io.IOException: Unable to establish loopback connection
Caused by: java.net.SocketException: Permission denied: listen

-ラッパーログの一部-

2012/12/02 14:28:29 | Unable to bind routerconsole to 127.0.0.1 port 7657: java.net.SocketException: Permission denied: listen failed
2012/12/02 14:28:29 | You may ignore this warning if the console is still available at http://localhost:7657
2012/12/02 14:28:30 | WARNING: Error starting SelectChannelConnector@::1:7657: java.io.IOException: Unable to establish loopback connection
2012/12/02 14:28:30 | java.io.IOException: Unable to establish loopback connection
2012/12/02 14:28:30 | WARNING: Error starting one or more listeners of the Router Console server.
2012/12/02 14:36:41 | CRIT  [istener:7654] er.client.ClientListenerRunner: I2CP error listening to port 7654 - is another I2P instance running? Resolve conflicts and restart

開発者フォーラムで、ループバック アドレスがまったくない可能性があると言われました。これはありそうもありません。ループバックアドレスで動作する他のアプリケーションがあります。また、IPv6をオフにし、IPv6を無視するために必要なすべてのオプションをラッパーに入れました。次に、管理アカウントの下でラッパーを起動しようとし、Java を含むすべてのものを管理アカウントの下にインストールしようとしましたが、まったく役に立ちませんでした。

どのフォーラムでも合理的な答えは見つかりませんでした。常にそれはファイアウォールに関するものでした。しかし、私はそれをオフにし、アンインストールし、管理者アカウントで Windows ファイアウォールをオフにしました。

また、Wi-Fiルーターで必要なすべてのポートを開きました。Privoxy などの他のプログラムは、ループバック接続とポートでうまく機能しますが、もちろんオンラインで確認すると、すべてのポートがブロックされているというメッセージが表示されます。これは間違っていると思います。

私のオペレーティング システムは Windows 7 64 ビットで、Wi-Fi ルーターは Speedport 723v です。

事前に回答いただきありがとうございます。

4

4 に答える 4

4

I2Pとjre7u25でも同じ問題でした

修正された修正された編集は、jawa パラメーターwrapper.configに追加します。-Djava.net.preferIPv4Stack=true

wrapper.java.additional.5=-Di2p.dir.config="C:\ProgramData\Application Data\i2p" -Djava.net.preferIPv4Stack=true
于 2013-07-21T11:58:43.783 に答える
1
2012/12/02 14:28:29 | Unable to bind routerconsole to 127.0.0.1 port 7657: java.net.SocketException: Permission denied: listen failed
2012/12/02 14:28:29 | You may ignore this warning if the console is still available at http://localhost:7657

問題は、ループバック アドレスがないことではありません。あなたはそれを持っていますが、あなたのJavaプロセスはソケット接続を作成することを許可されていません. 例外がPermission denied発生します。これは、ポリシー ファイルが、クラスがソケットをローカル ポート 7657 にバインドすることを許可していないことを意味します。

JRE のポリシー ファイルを調べてみましたか?

システムプロパティを使用してプログラム(またはラッパー。正確にはを実行しているのかわかりません...)を実行してみてください: http://docs.oracle.com/javase/1.5.0/docs/guide/plugin/developer_guide/debugger .html#jsdpjava.security.debug

于 2012-12-04T07:52:51.553 に答える
0

わかりました、少なくともループバック接続を確立する手順は解決したと思います。

これは、I2P プロジェクトをサポートしたいユーザーにとって役立つと思います。

そこで、JDK を 1.6 にダウングレードし、すべてを再インストールして、ファイアウォール ソフトウェア (私の場合は Agnitum) のすべてのエントリを完全に削除しました。

その後、コンソールを起動できました。

于 2012-12-04T19:01:42.587 に答える