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

Erehon

Турист
Задался целью создания много поточного сетевого сканера, сканирует заданные диапазоны IP, определяет активные хосты, по возможности запрашивает их имена и начинает их мониторить (постоянно отправлять запросы ping). Позволяет следить за состоянием сети и узнавать о сбоях еще до начала звонков клиентов. Кроме того выявляются новые не званые "гости" в сети. В процессе разработки столкнулся с проблемами производительности. При выборе больших диапазонов IP программа потребляет слишком много ресурсов. Писалась на C#, Каждый хост идет в отдельный поток. Думаю проблема в этом. Что лучше несколько потоков между которыми распределена вся нагрузка или все же моя реализация?
 

zapa

Турист
Возможно лучше для Вашей задачи использовать языки С или С++, но если все же работать с .Net то использовать пулл потоков (ThreadPool) и обязательно использовать x64...
 

oduv

Premium
Premium
я лично в дельфе не заметил проблемы с ресурами на мультипоточном приложении. лет 10 назад на д7 делал игрушку, на которую для проверки натравливал до 1000 ботов, которые играли сами с собой :).
использовал RTC компоненты....
 
Top