1

パイプラインの初期のアップストリームハンドラー(CometDecoderと呼びます)の1つが、残りのアップストリームハンドラーが送信しない場合にのみ、ダウンストリーム側の対応するCometEncoderに空の長いポーリング要求を送信する必要があるアップストリームNettyパイプラインを構築しています受信したリクエストに応じて、CometEncoderを介してダウンストリームに実質的なリクエストを送信します。

ここに画像の説明を入力してください

その理由は、このレガシーサーバーは、長いポーリング要求が常に開いていることを想定しており、サーバーからのすべての応答がクライアントからの後続の要求を引き起こすわけではないためです。

Nettyには、パイプラインのターミナルダウンストリームハンドラーとして使用されるChannelSinkがあるようです。ターミナルUPSTREAMハンドラーにフックして、中間のアップストリームハンドラーの1つによってメッセージが送信されたかどうかの状態を確認できる同様の構造があれば素晴らしいと思います。Nettyにそのようなものはありますか?

NettyでCometプログラミングに対処しなければならなかった人々によって見つけられた他のアプローチはありますか?

4

0 に答える 0