2012-05-11 13 views
0

私はC#でTCPサーバーソフトウェアを使用しています。私は以下のコードを使用してクライアントから来ているデータを読んでいます。この場合TCPクライアントがTCPサーバーにデータを頻繁に送信するとNetworkStreamデータが圧縮される

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

クライアントは時間の非常に小さな期間で継続的にデータを送信するときに、私は最後のデータ・バッファを評価していながら、新しいデータが付属しています。この場合、どうしたらいいですか?

答えて

1

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

+0

はい、これは間違いありません。私は同じデータを2〜3回読んでいます。私は何をすべきか? – sanchop22

+0

NetworkStream.Readメソッドの戻り値であるデータ長を使用すると、問題は解決されます。 – sanchop22

関連する問題