Сетевой сканер

  • Автор темы Erehon1
  • Обновлено
  • 03, Jul 2017
  • #1
Задался целью создания много поточного сетевого сканера, сканирует заданные диапазоны IP, определяет активные хосты, по возможности запрашивает их имена и начинает их мониторить (постоянно отправлять запросы ping). Позволяет следить за состоянием сети и узнавать о сбоях еще до начала звонков клиентов.

Кроме того выявляются новые не званые "гости" в сети.

В процессе разработки столкнулся с проблемами производительности.

При выборе больших диапазонов IP программа потребляет слишком много ресурсов.

Писалась на C#, Каждый хост идет в отдельный поток.

Думаю проблема в этом.

Что лучше несколько потоков между которыми распределена вся нагрузка или все же моя реализация?

Erehon1


Рег
23 Jun, 2017

Тем
72

Постов
225

Баллов
625
  • 04, Jul 2017
  • #2
Возможно лучше для Вашей задачи использовать языки С или С++, но если все же работать с .Net то использовать пулл потоков (ThreadPool) и обязательно использовать x64...
 

Zapa


Рег
04 Feb, 2015

Тем
63

Постов
196

Баллов
541
  • 10, Jul 2017
  • #3
я лично в дельфе не заметил проблемы с ресурами на мультипоточном приложении. лет 10 назад на д7 делал игрушку, на которую для проверки натравливал до 1000 ботов, которые играли сами с собой . использовал RTC компоненты....
 

CypePypeweigE


Рег
22 Sep, 2006

Тем
61

Постов
198

Баллов
553
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно