Захотелось написать консольную прогу, которая по выбранному IP сканирует открытые порты через циклическое получение ответа от connect(). Для сравнения берём BluesPortScan.exe - эта прожка сканит 900 портов (по локальной сети) за 4! секунды. Такая прога получилась, благо информации в нете море - single.c. Но пашет ОЧЕНЬ медленно. Была реализована некоторая многопоточность с разбивкой по 10 портов на поток - multi.c. Но эта программа работает несколько медленнее, чем BluesPortScan.exe. Подскажите плиз где недоработка в multi.c и какова возможность дальнейшей оптимизации, например для SMP-камней? Все материалы (single.c,multi.c,BluesPortScan.exe) смотрите во вложении.
тут один чел давно как то пытался сервисом портсканнер нарисовать, там смотри. только он, кажется, сразу знал что син/аки слать/получать надо самостоятельно.