PDA

Просмотр полной версии : [ИЩУ] perl библиотека для работы с jabber


Sharky
25.07.2009, 23:21
Подскажите какую-нибудь перловую библиотеку чтоб корректно работала с jabber.ru

функции нужны только самые основные: коннект, авторизация, отправка сообщений, приём сообщений.

Kaimi
25.07.2009, 23:45
http://search.cpan.org/search?query=jabber&mode=all

Sharky
26.07.2009, 00:00
http://search.cpan.org/search?query=jabber&mode=all

я там был...заметь пометку
чтоб корректно работала с jabber.ru
с Net::Jabber (Net::XMPP) у меня на jabber.ru авторизироваться не получилось. Подключается, начинает авторизацию, авторизация не проходит.

Kaimi
26.07.2009, 00:27
Если ты там был, то что помешало полистать страницы и скачать
http://search.cpan.org/~qmacro/Jabber-Connection-0.04/
?

MNX
26.07.2009, 01:00
На счет отправки сообщения могу порекоммендовать sendxmpp - с джаббером работает, но принимать сообщения вроде не умеет(

demond
26.07.2009, 01:17
я там был...заметь пометку

с Net::Jabber (Net::XMPP) у меня на jabber.ru авторизироваться не получилось. Подключается, начинает авторизацию, авторизация не проходит.
а почему не авторизуется? что говорит debug? там какие-нибудь особенности?

Sharky
26.07.2009, 01:40
Если ты там был, то что помешало полистать страницы и скачать
http://search.cpan.org/~qmacro/Jabber-Connection-0.04/
?
Всё отлично. Подошло) только вот не пойму есть ли там приём сообщений?

а почему не авторизуется? что говорит debug? там какие-нибудь особенности?
Просто возвращало ошибку not-autorized . Причём на локальном сервере всё работает идеально. На jabber.ru оказывается. Но проблема решена использованием другой библиотеки)

Sharky
03.08.2009, 13:13
чё-то забил на эту тему...щас снова появилось время и меня всё также гложет вопрос: как же та принимать сообщения?

Gifts
03.08.2009, 17:30
Вместе с библиотекой идет файл с примером - client.pl

use strict;
use Jabber::Connection;
use Jabber::NodeFactory;
use Jabber::NS qw(:all);

my $nf = new Jabber::NodeFactory;

my $c = new Jabber::Connection(
server => 'localhost',
log => 1,
);

$c->connect or die "oops: ".$c->lastError;
$c->register_handler('message', \&message);
$c->auth('a', 'pass', 'client');

my $m = $nf->newNode('message');
$m->insertTag('body')->data('hello');
$m->attr('to', 'dj@localhost');
$c->send($m);
$c->send('<presence/>');

my $iq = $nf->newNode('iq');
$iq->attr('type', IQ_GET);
$iq->attr('to', 'localhost');
$iq->insertTag('query', NS_TIME);
$c->send($iq);

$c->process(5);

$c->disconnect;


sub message {

my $node = shift;
print "Received --> ", $node->toStr, "\n";

}