Dashboard > Contributions > Contributions > Jabberlang
Jabberlang Log In View a printable version of the current page.

Added by Mickaël Rémond , last edited by Mickaël Rémond on May 20, 2006  (view change)
Labels: 

Jabberlang is a client Jabber library for Erlang.

The first version has been presented during Erlang User Conference (EUC 2004): Messaging with Erlang and Jabber (PDF)
For now, it still only supports a minimal subset of the Jabber/XMPP protocol but many changes are planned.

Download

jabberlang-0.2.tar.gz

Usage

Basic example

Erlang (BEAM) emulator version 5.3.6.3 [source] [hipe] [threads:0]

Eshell V5.3.6.3  (abort with ^G)
1> {ok, XMPP} = xmpp:start().
{ok,<0.31.0>}
2> xmpp:set_login_information(XMPP, "mremond", {password,"mypassword"}).
2> ".
** 2: syntax error before: '.' **
2> xmpp:set_login_information(XMPP, "mremond", {password,"mypassword"}).
ok
3> xmpp:connect(XMPP).
ok
4>
=INFO REPORT==== 17-Oct-2004::22:51:04 ===
I(<0.31.0>:xmpp:174): Connected to localhost:5222


=INFO REPORT==== 17-Oct-2004::22:51:04 ===
I(<0.31.0>:xmpp:241): Authentication successfull. You are logged in as "mremond"


4>
=INFO REPORT==== 17-Oct-2004::22:51:29 ===
I(<0.31.0>:xmpp_callbacks:13): Presence <0.31.0>: available ([{"from",
                                                               "mremond5@localhost/tkabber"},
                                                              {"to",
                                                               "mremond@localhost/Jabberlang"},
                                                              {"xml:lang",
                                                               "fr-FR"}]) ([{xmlelement,
                                                                                "priority",
                                                                                [],
                                                                                [{xmlcdata,
                                                                                     "8"}]}])

=INFO REPORT==== 17-Oct-2004::22:51:30 ===
I(<0.31.0>:xmpp_callbacks:13): Presence <0.31.0>: available ([{"from",
                                                               "mremond5@localhost/tkabber"},
                                                              {"to",
                                                               "mremond@localhost/Jabberlang"},
                                                              {"xml:lang",
                                                               "fr-FR"}]) ([{xmlelement,
                                                                                "priority",
                                                                                [],
                                                                                [{xmlcdata,
                                                                                     "8"}]}])

Development features

Current development version includes an experimental tool to generate Jabber server database for tests and benchmarks purpose.

Warning

Do not use those features on a production server. Those features have been developed for test purpose.

A new server test user base with 10000 users can be created with the following erlang command:

xmpp_benchmark:create_db(10000).

When using ejabberd, you can use the native interface to speed up test database generation by using the ODBC connection string. The following example create a test database with 30000 users:

> export ODBCINI=/home/mremond/project/ejabberd-1.0.0/bin/odbc.ini
> export ODBCSYSINI=/home/mremond/project/ejabberd-1.0.0/bin/
> erl
Erlang (BEAM) emulator version 5.4.9 [source] [hipe] [threads:0]

Eshell V5.4.9  (abort with ^G)
1> xmpp_benchmark:create_db({odbc, "DSN=Messenger;UID=root;PWD=nimda"}, 30000).
Generating users's roster size
Creating users' rosters

Development version

The development version can be accessed from Process-one subversion repository:

svn co http://svn.process-one.net/jabberlang/trunk jabberlang

Changes can be tracked on Process-one code browser.

Mailing lists

A mailing list has been set up to discuss Jabberlang development:Jabberlang Development Mailing List

Powered by Atlassian Confluence 2.7.3, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators