Я хочу измерить время, необходимое клиенту для получения данных по протоколу TCP, используя c #.
Я использую NetworkStream.Read для чтения 100 мегабит данных, отправленных с использованием NetworkStream.Write. Я установил для буфера тот же размер данных, чтобы не было проблем с опустошением буфера и т. Д. Обычно это выглядит так.
Stopwatch sw = new Stopwatch();
sw.Start();
stream.Read(bytes, 0, bytes.Length);
sw.Stop();
Проблема в том, что существует вероятность того, что отправитель фактически не отправил данные, но секундомер уже запущен. Как я могу точно измерить время, необходимое для получения данных? Я пытался использовать промежуток времени удаленного потока ПК. Пишу, но время записи крайне мало.
Кстати, секундомер самый точный инструмент для этой задачи?