TCP RSTパケットを受信すると、ホストは、リモートホストによってすでにACKされているがソケットを使用してアプリケーションプロセスによって読み取られていない受信バッファ内の残りのデータをすべて破棄しますか?TCP RSTはホストに受信バッファをドロップさせますか?
他のホストが何も言わなくてもすぐにソケットを閉じるのは危険ですか(リソースを節約するなど)。例えばもしそれが相手方に私がすでに送ったデータを失うことになるかもしれないが、彼はまだ読んでいない。
RSTは一般的に回避され、完全な双方向通信の失敗を示しますか、または上記の例のように接続切断を一方向に強制的に強制するのは比較的安全な方法ですか?
RSTパケット(本質的に接続を閉じる)を送信すると、受信バッファに何が起こるかは推測できます*実装に依存* –
公正なポイント - 私は最悪の場合に興味があると言います。バッファ内のデータは廃棄されます。それはどんなホストでも現実的に起こりますか? – lxgr
@Ixgr受信しているRSTパケットでバッファがフラッシュされるのではないかと疑います。しかし、それが本当に事実かどうかはわかりません。私はあなたがそれを試す必要があると思います。私は、受信側のアプリケーションが内部にあるものを受け取るという意味で、バッファが空になると言います。再び、推測だけは分かりません。 –