задача такая
есть 20 шт IP адресов
нужно проверить как можно БЫСТРО открыт ли на них 21 порт/FTP
имеется Active Perl 5.8.8
проблема:
при закрытом порте соединение сокета повисает (1-8 сек на 1 IP в зависимости от реализации скрипта)
при открытом порте обработка занимает доли секунды
20 закрытых IP = обработка 20 сек = это ОЧЕНЬ долго
как задать вручную время жизни соединения сокета?
пробовал команду Timeout => 10, а также Timeout => .1
результат 1 и тот же
Оказалось, что Таймаут не работает, так как его обработка закомментирована в модуле IO::SOcket:Inet.pm
почему он закомментирован и как сделать, чтобы он работал,
в инете ничего толкового не нашел
// снятие "#" в модуле ничего не дает
почему то все советуют делать это, через IO::Select
Отключение алгоритма буферизации
обработка через alarm
обработка через IO::Select
ничего не привело к желаемому
Прошу высказать Ваши мнения...