NetworkStream. Читать прогресс загрузки. По аналогии с WebClient.DownloadProgressChanged - PullRequest
0 голосов
/ 31 января 2011

Я хочу знать текущий прогресс загрузки при использовании NetworkStream.Read. Это вообще возможно? Должен ли я использовать веб-клиент?

Я не хочу использовать веб-клиент, потому что кажется (я не уверен на 100%)

  1. Мне нужно создать веб-сервер
  2. Мне нужно создать файл (вместо данных потока памяти).
  3. Я не могу правильно измерить скорость передачи гигабитных сетей из-за ограничения протокола http.

или я должен использовать веб-клиент?

К вашему сведению, я создаю инструменты оценки пропускной способности.

1 Ответ

1 голос
/ 31 января 2011

В чем проблема?

  1. Получить текущее время
  2. Invoke «stream.Read (buffer, 0, buffer.Length);` в цикле, пока вы не получите достаточно байтов для вычисления правильной скорости
  3. Время окончания
  4. Разделите полученную длину байта на количество секунд, которое потребовалось для их загрузки.
  5. Результат = байт / с
...