0

Netty 3.6.x を使用してソケット ベースのアプリを開発しています。ただし、channel.write で問題が発生しています。これは私がやったことです: まず、チャネルが CONNECTED 状態になるたびに、チャネルに書き込み、成功します。サーバーが完了したら再接続を試み、チャネルが接続されたら書き込みを試みますが、今回はサーバーがデータを受信して​​いないようです。

また、書き込み状態を確認すると、完了と表示されます。

何が問題になる可能性がありますか?

4

2 に答える 2

2

ChannelFuture が失敗したかどうかを確認し、失敗した場合は次の方法でエラーを検査する必要があります。

ChannelFuture future = ...
if (!future.isSuccess()) {
    future.getCause().printStacktrace();
} 

これにより、失敗した理由が表示されます。

于 2013-07-06T18:58:54.333 に答える
0

ありがとうノーマン。問題を修正しました。問題は、ChannelFuture リスナーを使用していたことで、そのコールバック内でパイプラインとトランスコーダーを設定していたことに気付きました。そのため、データをネットワーク経由で送信すると、正しくエンコードされません。解決するには、channelConnected および channelCLosed メソッドですべてを処理する必要があります。

于 2013-07-08T09:05:29.383 に答える