0

C# で TCP サーバー ソフトウェアを使用しています。以下のコードを使用して、クライアントからのデータを読み取っています。

DataLen = NetworkStream.Read(Data, 0, Data.Length);

この場合、クライアントが非常に短い期間で継続的にデータを送信すると、最後のデータ バッファーを評価している間に新しいデータが送信されます。この場合どうすればいいですか?

4

1 に答える 1

1

TCPプロトコルは、バイトストリームの信頼性の高い順序付けられた配信を提供します。したがって、これについて心配する必要はありません。
発生する可能性のある最悪の事態は、読み取りが遅すぎてネットワークバッファが小さすぎる場合の再キューイングです。したがって、読み取りと処理を異なるスレッドに分割する必要がある場合があります。
再キューはアプリケーションに対して透過的ではありません。速度が遅くなり、それらを検出するにはwireshark/tcpdumpなどのツールが必要になります。

于 2012-05-11T08:29:43.490 に答える