1

クライアント/サーバー通信で Netty の IdleStateHandler を使用して、(サーバーからクライアントへ) ハートビートを送信し、クライアントでタイムアウトを検出しています。これは、大きなメッセージの転送に構成された読み取りタイムアウトよりも時間がかかるというまれなケースを除いて、正常に機能します。私の場合、これらの大きなメッセージはクライアントの起動時 (ベースライン) にのみ発生します。通常の操作中はメッセージが小さいため、クライアントでの全体的な読み取りタイムアウトを増やすことには消極的です。

実際にデータを受信して​​いる間に IdleStateHandler がアイドル状態イベントを発生させないようにする方法はありますか? それとも私は何か間違ったことをしていますか?

ありがとう、トーマス

4

1 に答える 1

1

IdleStateHandler最初のハンドラーを「ChannelPipeline」に追加すると、問題が解決しました。これにより、最後に受信したデータのタイムスタンプが可能な限り頻繁に更新されます。

于 2013-09-11T06:47:16.013 に答える