2012-03-02 2 views
3

私はNetty 3.3.1の安全なチャットのサンプルをそのまま使用していますが、エラーが発生しています。問題が発生しているクライアントのようです。「クライアント/サーバーモードがまだ設定されていません」というエラーです。Nettyの実行3.3.1最終セキュアチャットの例では、「クライアント/サーバーモードがまだ設定されていません」というエラーメッセージが表示されます。

私はisIssueHandshakeがfalse(デフォルト)の場合は、ご自身で握手を呼び出すの世話をする必要があります」、と言うことSSLHandler上のドキュメントを参照してください。ほとんどの状況ではSslHandlerは 『クライアントモード』で使用されたあなたが発行したいですsetIssueHandshakeがtrueに設定されている場合、SslHandlerが処理するので、これについて心配する必要はありません。」sslHandlerの前にsetIssueHandshakeをtrueに設定しようとしました。ハンドシェイクメソッドが呼び出されましたが、それはエラーを変更/修正しませんでした。

推測できますか?

このネッティー初心者のためにどのような援助をありがとう!

このクライアントの出力である:

2012年3月2日10時25分27秒AM securechat.SecureChatClientHandler handleUpstream INFO:[ID:0x00c2a132] OPEN 2012年3月2日10時25分27秒AM securechat.SecureChatClientHandler handleUpstream INFO:[id:0x00c2a132、/127.0.0.1:3082 => localhost/127.0.0.1:8443]締め切り:/127.0.0.1:3082 2012年3月2日10:25:27 securechat.SecureChatClientHandler handleUpstream INFO:[ID:0x00c2a132、/127.0.0.1:3082 =>はlocalhost/127.0.0.1:8443] CONNECTED:ローカルホスト/ 127.0.0.1:8443 2012年3月2日10時25分27秒M securechat.SecureChatClientHandler exceptionCaught 警告:ダウンストリームから予期しない例外が発生しました。 java.lang.IllegalStateException:クライアント/サーバー・モードがまだ設定されていません。 (SSLEngineImpl.java:609) securechat.SecureChatClientHandler.handleUpstream(SecureChatClientHandler.java:43) でsecurechat.SecureChatClientHandler.channelConnected(SecureChatClientHandler.java:54) でorg.jboss.netty.handler.ssl.SslHandler.handshake(SslHandler.java:358) でorg.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:61) at org.jboss.netty.handler.ssl.SslHandler.channelConnected(SslHandler.java:1202) at org.jboss。 org.jbosでnetty.channel.Channels.fireChannelConnected(Channels.java:227) s.netty.channel.socket.nio.NioWorker $ RegisterTask.run(NioWorker.java:786) at org.jboss.netty.channel.socket.nio.NioWorker.processRegisterTaskQueue(NioWorker.java:250) at org。 jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:192) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $ Worker.run java.lang.Thread.runで(ThreadPoolExecutor.java:908) (Thread.java:619)

は、これは、サーバーの出力である:

INFO:[ID:0x01893efe、/127.0.0.1:3082 => /127.0.0.1:8443] OPEN 2012年3月2日10:25:27 securechat.SecureChatServerHandler handleUpstream 情報:[ID:0x01893efe、/127.0。 0.1:3082 => /127.0.0。1:8443] BOUND:/127.0.0.1:8443 2012年3月2日10:25:27 securechat.SecureChatServerHandler handleUpstream INFO:[ID:0x01893efe、/127.0.0.1:3082 => /127.0.0.1:8443]接続された:/127.0.0.1:3082

答えて

3

この例では既知のバグです。 SecureChatClientPipelineFactory.javaを調べると、SSLEngine.setUseClientMode(true)という行が誤ってコメントアウトされていることがわかります。コメントを外してから機能します。この問題は、3.4.0.Alpha1で修正されています。