use Net::Jabber; # подключаем класс работы с Jabber
use utf8; # в Jabber используется UTF-8
my $server = 'jabber.shadrinsk-city.ru'; # сервер
my $port = 5222; # порт
my $username = 'perl'; # отправитель
my $password = 'password'; # его пароль
my $resource = 'jud'; # ресурс
my $to_user = 'mshock@jabber.ru'; # получатель
my $client = new Net::Jabber::Client(); # создаем клиента
$client->SetCallBacks( # указываем обработчики событий:
onconnect => \&on_connect, # при подключении
onauth => \&on_auth, # при регистрации
message => \&on_message, # при получении сообщения
);
$client->Execute( # соединяемся с сервером
hostname=>$server, port=>$port,
username=>$username, password=>$password,
resource=>$resource, register=>1,
connectsleep=>0, connectattempts=>1,
);
# завершение программы произойдет в on_message
sub on_connect { # выполнится при подключении к серверу
print "Подключен к $server:$port\n";
}
sub on_auth { # выполнится при регистрации на сервере
print "Зарегистрирован как $username\n";
$client->MessageSend( # ОТПРАВЛЯЕМ СООБЩЕНИЕ
to=> $to_user. '/' .$resource,
subject=>'сообщение от Perl',
body=>'Привет, Jabber!'
);
}
sub on_message { # выполнится при получении сообщения
my $sid = shift; # извлекаем номер и текст
my $message = shift; # ответа и выводим его:
print "Тема:", $message->GetSubject(), "\n";
print "Сообщение:", $message->GetBody(), "\n";
$client->Disconnect(); # отключаемся от сервера
exit(0); # и завершаем работу
}
В этом примере демонстрируется прием программирования, распространенный при работе в многозадачной среде: главная программа организует бесконечный цикл обработки событий, для реагирования на которые вызываются обработчики событий. Конечно, помимо обмена сообщениями Jabber предоставляет целый набор средств для полноценного общения, а Perl дает возможность работать с ними.
Есть примеры использования Perl для разработки шлюзов между IP-сетями и беспроводными сетями. На Perl написан свободно распространяемый пейджинговый шлюз Sendpage (www.sendpage.org). Класс
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии