クライアントが c# を使用して tcp 経由でデータを受信するのにかかる時間を測定したいと考えています。
NetworkStream.Read を使用して、NetworkStream.Write を使用して送信された 100 メガビットのデータを読み取ります。バッファを同じサイズのデータに設定したので、バッファアンダーランの問題などはありません。一般的にはこのようになります。
Stopwatch sw = new Stopwatch();
sw.Start();
stream.Read(bytes, 0, bytes.Length);
sw.Stop();
問題は、送信者が実際にデータを送信していなくても、ストップウォッチが既に実行されている可能性があることです。データの受信にかかった時間を正確に測定するにはどうすればよいですか? リモートPC stream.Writeのタイムラプスを使ってみたのですが、書き込みにかかった時間は極端に短いです。ところで、ストップウォッチはこの作業に最も正確なツールですか?