3

ステートレスプロトコルに基づいてストリームを作成しました。2つのWebサーバーが互いに非常に限られたリクエストを送信していると思います。

そのため、接続が閉じられないために突然停止したかどうかもわかりません。単にリクエストはありません。リクエストには合法的にギャップがある可能性があるため、リクエストがないことを接続の喪失として扱いたくありません。

私がやりたいのは、「私は生きています」と言うハートビートを送信することですが、ストリームから読み取るときにハートビートデータが必要ないことは明らかなので、私の質問です。

別のストリームをラップし、呼び出し元のコードに公開せずにハートビートデータを送信する新しいストリームクラスを作成するにはどうすればよいですか?

4

1 に答える 1

1

両側で2つの同様の実装を想定します。データの各ブロックをヘッダー付きで送信して、ゼロデータハートビートブロックを安全に送信できるようにします。つまり、外部ストリームへの書き込みを「{データ、100バイト、[バイト]}、{データ、13バイト、[バイト]}」のような内部ストリームへの複数の書き込みに変換すると、ハートビートは「{Ping、0バイト、[]」のようになります。 }"。受信側ですぐに同様の空のPingで応答します。

于 2012-04-26T16:37:09.167 に答える