Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > нужна помощь для работы с потоками по telnet |
Автор: Pall 30.4.2008, 13:07 |
Уважаемые, нужна помощь. Необходимо написать программу , которая коннектится по telnet к множеству хостов, дает комманды и получает ответы. Тривиальная программа с циклом работает, но времени уходит , с учетом постобработки, слишком много. Есть же возможность параллельно давать команды на все хосты и получать ответы. У кого есть опыт как это сделать, что почитать , что использовать? Заранее спасибо. |
Автор: ginnie 30.4.2008, 13:16 |
Уважаемый Pall, советую прочитать главу "Мультиплексные приложения" из книги Линкольна Штайна "Разработка сетевых программ на Perl". Там одновременная обработка нескольких соединений производится при помощи select(). |
Автор: shamber 30.4.2008, 17:39 |
Pall, попробуйте посмотреть в сторону http://poe.perl.org/. Он как раз для таких вещей создавался |
Автор: KSURi 30.4.2008, 17:55 |
Вот кстати http://search.cpan.org/~xantus/POE-Component-Client-Telnet-0.06/lib/POE/Component/Client/Telnet.pm для работы с telnet'ом через POE |
Автор: tolkien 30.4.2008, 18:24 |
Обычная многозадачность. UNIX (fork exec) my $pid = fork; die "fork can't create child process" unless (defined($pid)); if ($pid == 0) { exec ("perl -w script.pl") or die "can't exec script.pl"; } WINDOWS $appname = 'F:/perl/bin/perl.exe'; Win32::Process::Create($ProcessObj, $appname, "perl -w script.pl", 0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport(); sub ErrorReport{ print Win32::FormatMessage( Win32::GetLastError() ); } |