2016-12-04 11 views
0

いろいろなプラットフォームで私をしばらく動かすコードが突然失敗するようになりましたが、コードでは変更されましたが、この場所に関連する領域では変更されませんでした。socketChannelがパーミッションが拒否されたIOExceptionをスローする

(SocketChannel) selectionKey.channel()).finishConnect() 

そして、それはスロー::

例外をスローするコードの行ではありません

java.net.SocketExceptionが:アクセスが拒否されました:これ以上の情報

何問題かもしれない?

2016年12月4日22:50: - ソケットクライアント-1-1
10585 [メイン] DEBUGソケット

詳細を示すかもしれないいくつかのログの行は、テストコードであります登録するアドレス:0.0.0.0/0.0.0.0:8080
2016-12-04 22:50:10,585 [メイン] DEBUG SocketSelector - 登録キー: OP_CONNECT(ソケットクライアント-1)
2016-12-04 22:50:10,595 [main] DEBUG SocketSelector - 登録先:OP_CONNECT> 2016-12-04 22:50:10,595 [NetworkThread] DEBUG SocketSelector - 選択したキーを取得しました
チャネルのための(java.nio.channels.SocketChannel [接続保留 リモート= 0.0.0.0/0.0.0.0:8080])

+0

このチャンネルで 'connect()'を呼びましたか?以前に 'finishConnect()'を呼びましたか?もしそうなら、それは本当に戻ったのだろうか? – EJP

+0

はい私はconnect()を呼び出して成功しました。 finishConnect()は、初めてこの例外をスローします。 – slashms

+0

なぜ0.0.0.0に接続していますか? – EJP

答えて

1

問題は、あなたが0.0.0.0に接続しようとしているということです、これは有効なTCPターゲットアドレスではありません。これにより、に記載されている理由でEPERMが接続されます。を接続します。

127.0.0.1または適切なIPアドレスを使用してください。

関連する問題