2009-12-09 2 views
1

Я собираюсь разработать инструмент измерения сети. Целью является создание инструмента, который может измерять время ответа между клиентом и серверной машиной (со стороны клиента). Это приложение-приложение к основному приложению. Если основное приложение показывает, что время ответа от сервера выше определенного порога, инструмент будет загружен в активном состоянии и будет выполнять тесты сетевого подключения, чтобы определить соединение с клиентским сервером, является стабильным (это может быть нестабильно из-за беспроводной сети и т. д.)Инструмент измерения производительности сети в C#

Те тесты, которые мне нужно выполнить, - это не только операции ping, но и передача пакетов разного размера.

У меня, однако, очень мало опыта в области коммуникационных технологий.

Есть ли протокол ICMP, как идти? и если да, можно ли отправлять пакеты с размерами разностей (для измерения, если сеть может передавать, например, 2 МБ данных в разумные сроки)?

У меня есть вторая проблема. Что я должен смотреть в отношении брандмауэров? Было бы позором разработать приложение, которое прекрасно работает в моей локальной сети, но, как только оно будет использовано в реальной жизни, он провалится с ошибкой, потому что тесты блокируются брандмауэром.

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

Все лучшее

/Sagi

ответ

0

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

Затем клиент будет измерять время, проведенное в путешествии, и вычислить ваш пинг и передать его обратно на ваш сервер. Это также дает лучшее представление, когда в случае некоторых интернет-провайдеров, которые передают пакеты протокола ICMP, огромное преимущество перед другими пакетами на их QoS-сервере, искусственно создавая (подделывая) более низкую задержку. Кроме того, вам не придется беспокоиться о том, что брандмауэр не разрешает ваши ICMP-пакеты, потому что вам нужно будет разрешить подключаться к стандартным портам, которые вы используете.

Кроме того, большинство игр работают таким образом (Half-Life, Age Of Empires и т. Д.), А не путем отправки стандартных пакетов Ping.

+0

Спасибо за ваш ответ. Я посмотрю :) – Sagi1981