李凯 > Jabber-PubSub-JEAI-0.03 > Jabber::PubSub::JEAI

Download:
Jabber-PubSub-JEAI-0.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.03   Source  

NAME ^

Jabber::PubSub::JEAI - Perl extension for Erlang's J-EAI server

SYNOPSIS ^

  use Jabber::PubSub::JEAI;

It is important that you put Jabber connection and pub/sub parameters in a hash reference and pass it to the subroutines. Although not all of the pamameters are necessary for each subroutine. Example for channel creation:

        my $param = {
            'uid'      => 'admin',
            'pwd'      => 'nimda',
            'host'     => 'localhost',          # default is 'localhost'
            'port'     => 5222,                 # default is 5222
            'resource' => '',                   # use default
            'channel'  => 'home/localhost/admin/sport',
            'to'       => 'pubsub.localhost', 
            'iq_id'    => '',                   # use default
            'payload'  => '',                   # N/A for channel creation
        };
        Jabber::PubSub::JEAI::create_channel($param);

Example for channel deletion:

        my $param = {
            'uid'      => 'admin',
            'pwd'      => 'nimda',
            'host'     => 'localhost',          # default is 'localhost'
            'port'     => 5222,                 # default is 5222
            'resource' => '',                   # use default
            'channel'  => 'home/localhost/admin/sport',
            'to'       => 'pubsub.localhost', 
            'iq_id'    => '',                   # use default
            'payload'  => '',                   # N/A for channel creation
        };
        Jabber::PubSub::JEAI::delete_channel($param);

Example for subscription to the channel:

        $param = {
            'uid'      => 'app2',
            'pwd'      => 'app2',
            'host'     => 'localhost',          # default is 'localhost'
            'port'     => 5222,                 # default is 5222
            'resource' => '',                   # used default
            'channel'  => 'home/localhost/admin/sport',
            'to'       => 'pubsub.localhost',
            'iq_id'    => '',                   # use default
            'payload'  => '',                   # N/A for channel subscription
        };
        Jabber::PubSub::JEAI::subscribe($param);

To receive the publised messages you can use any Jabber client. All subscribers to the same channel will get the same messages simultaneously if they are all listening, or get the messages later but in correct sequence. Here is an example for polling a Jabber box and show the payloads in the published messages with Jabber::PubSub::JEAI:

        $param = {
            'uid'      => 'app2',
            'pwd'      => 'app2',
            'host'     => 'localhost',          # default is 'localhost'
            'port'     => 5222,                 # default is 5222
            'resoirce' => 'Test',
            'channel'  => '',                   # N/A for this purpose
            'to'       => '',                   # N/A for this purpose
            'iq_id'    => '',                   # N/A for this purpose
            'payload'  => '',                   # N/A for this purpose
        };
        Jabber::PubSub::JEAI::listen($param);

Example for publication to the channel:

        $param = {
            'uid'      => 'admin', 
            'pwd'      => 'nimda',
            'host'     => 'localhost',          # default is 'localhost'
            'port'     => 5222,                 # default is 5222
            'resource' => 'Test',
            'channel'  => 'home/localhost/admin/sport',
            'to'       => 'pubsub.localhost',
            'iq_id'    => '',                   # use default
            'payload'  => 'Breaking news! ...',
        };
        Jabber::PubSub::JEAI::publish($param);  

DESCRIPTION ^

This package offers some utilities for interfacing with Erlang's J-EAI server 1.0.

EXPORT

None by default.

ACKNOWLEDGMENT ^

The author wishes to thank to "Thierry Mallard" <thierry.mallard@erlang-fr.org> and "Mickael Remond" <mickael.remond@erlang-fr.org>, leaders of J-EAI development team, for their support.

AUTHOR ^

Kai Li, <kaili@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright (C) 2005 by Kai Li

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: