シナリオは、ホーム ネットワーク上の TCP を介して、あるマシンから別のマシンにデータを送信することです。送信者は をインスタンス化し、によって返されTCPClient
た にデータを書き込みます。私の理解では、 のデータは最終的に NIC のバッファに送信され、物理メディアを介して送信されます。NetworkStream
GetStream()
NetworkStream
ただし、接続が中断されるMemoryStream
と、NIC バッファー内のデータと NIC バッファー内のデータは失われますが、私のアプリケーションでは、データはストリームに書き込まれ、データがリッスンしているソケットに送信されたと単純に推測できました。 、しかし、明らかにそうではありません。MemoryStream
接続が再確立されると、アプリケーションはデータの送信を再開しますが、アプリケーションが知る限り、送信が中断された場合でも、NIC のバッファとオブジェクトで失われたデータは考慮されません。
独自のアプリケーション層プロトコルを作成する以外に、この問題を回避する方法はありますか?