Измерение сетевого трафика в C # - PullRequest
0 голосов
/ 28 марта 2012

Мне бы хотелось, чтобы мое приложение могло отслеживать, сколько данных (мне не нужны фактические пакеты, только количество байтов), которые постоянно поступают из компьютера (по одному интерфейсу), а также со временем. Другими словами; Я хочу, чтобы была возможность отображать число, отображающее текущую скорость повышения и понижения (например, 5 КБ / с), а также график за последние 5 минут, и, наконец, я также хочу иметь возможность отображать правильное количество данных, которые имеют вышел / вошел интерфейс за последний час.

Это выполнимо простым способом? Однако я не возражаю против использования сторонних сборок или необходимости создавать свою собственную оболочку для некоторых win32 API; указанные сторонние сборки должны быть в состоянии использоваться с приложениями с открытым исходным кодом и не должны стоить денег.

Ответы [ 3 ]

2 голосов
/ 28 марта 2012

На самом деле вы можете легко получить весь сетевой трафик, используя счетчики производительности, но я не знаю никакого способа измерить сетевой трафик вашего приложения, кроме открытия каждого пакета и его чтения. Чтобы измерить весь сетевой трафик, обратитесь к следующему: сетевой трафик в c #

1 голос
/ 28 марта 2012

Что-то вроде DUMeter?

Смотрите здесь .

0 голосов
/ 28 марта 2012

Возможно, вы захотите взглянуть на счетчики производительности.

Screen shot from perfmon

На большинстве этих сетевых счетчиков вы можете выбрать сетевой интерфейс, который нужно отслеживать. Вы можете сделать то же самое в коде .Net.

Вот статья CodeProject, которая содержит приложение форм, которое делает то, что вам нужно: http://www.codeproject.com/Articles/6259/Monitoring-network-speed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...