![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Pall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.4.2008 Репутация: нет Всего: нет |
Уважаемые, нужна помощь.
Необходимо написать программу , которая коннектится по telnet к множеству хостов, дает комманды и получает ответы. Тривиальная программа с циклом работает, но времени уходит , с учетом постобработки, слишком много. Есть же возможность параллельно давать команды на все хосты и получать ответы. У кого есть опыт как это сделать, что почитать , что использовать? Заранее спасибо. |
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Уважаемый Pall, советую прочитать главу "Мультиплексные приложения" из книги Линкольна Штайна "Разработка сетевых программ на Perl". Там одновременная обработка нескольких соединений производится при помощи select().
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
Pall, попробуйте посмотреть в сторону POE. Он как раз для таких вещей создавался
|
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Вот кстати компонент готовый для работы с telnet'ом через POE
-------------------- Died at Life.pl line 21 |
|||
|
||||
tolkien |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
Обычная многозадачность.
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() ); } |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |