1 |
NAME |
2 |
Net::XMPP2 - An implementation of the XMPP Protocol |
3 |
|
4 |
VERSION |
5 |
Version 0.01 |
6 |
|
7 |
SYNOPSIS |
8 |
use Net::XMPP2::Connection; |
9 |
|
10 |
or: |
11 |
|
12 |
use Net::XMPP2::IM::Connection; |
13 |
|
14 |
DESCRIPTION |
15 |
This is the head module of the Net::XMPP2 XMPP client protocol (as |
16 |
described in RFC 3920 and RFC 3921) framework. |
17 |
|
18 |
Net::XMPP2::Connection is a RFC 3920 conformant "XML" stream |
19 |
implementation for clients, which handles tcp connect up to the resource |
20 |
binding. And provides low-level access to the XML nodes on the XML |
21 |
stream along with some high level methods to send the predefined XML |
22 |
stanzas. |
23 |
|
24 |
Net::XMPP2::IM::Connection is a more highlevel module, which is derived |
25 |
from Net::XMPP2::Connection. It handles all the instant messaging client |
26 |
functionality described in RFC 3921. |
27 |
|
28 |
For a list of "Supportet extensions" see below. |
29 |
|
30 |
There are also other modules in this distribution, for example: |
31 |
Net::XMPP2::Util, Net::XMPP2::Writer, Net::XMPP2::Parser and those i |
32 |
forgot :-) Those modules might be helpful and/or required if you want to |
33 |
use this framework for XMPP. |
34 |
|
35 |
See also Net::XMPP2::Writer for a discussion about the brokeness of XML |
36 |
in the XMPP specification. |
37 |
|
38 |
Why (yet) another XMPP module? |
39 |
The main outstanding feature of this module in comparsion to the other |
40 |
XMPP (aka Jabber) modules out there is the support for AnyEvent. |
41 |
AnyEvent permits you to use this module together with other I/O event |
42 |
based programs and libraries (ie. Gtk2 or Event). |
43 |
|
44 |
The other modules could often only be integrated in those applications |
45 |
or librarys by using threads. I decided to write this module because i |
46 |
think CPAN lacks an event based XMPP module. Threads are unfortunately |
47 |
not an alternative in Perl at the moment due the limited threading |
48 |
functionality they provide and the global speed hit. I also think that a |
49 |
simple event based I/O framework might be a bit easier to handle than |
50 |
threads. |
51 |
|
52 |
Another thing was that I didn't like the APIs of the other modules. In |
53 |
Net::XMPP2 I try to provide low level modules for speaking XMPP as |
54 |
defined in RFC 3920 and RFC 3921 (see also Net::XMPP2::Connection and |
55 |
Net::XMPP2::IM::Connection). But I also try to provide a high level API |
56 |
for easier usage for instant messaging tasks and clients. |
57 |
|
58 |
A note about TLS |
59 |
This module also supports TLS, as the specification of XMPP requires an |
60 |
implementation to support TLS. |
61 |
|
62 |
There are maybe still some bugs in the handling of TLS in |
63 |
Net::XMPP2::Connection. So keep an eye on TLS with this module. If you |
64 |
encounter any problems it would be very helpful if you could debug them |
65 |
or at least send me a detailed report on how to reproduce the problem. |
66 |
|
67 |
(As I use this module myself I don't expect TLS to be completly broken, |
68 |
but it might break under different circumstances than I have here. Those |
69 |
circumstances might be a different load of data pumped through the TLS |
70 |
connection.) |
71 |
|
72 |
I mainly expect problems where aviable data isn't properly read from the |
73 |
socket or written to it. You might want to take a look at the |
74 |
"debug_send" and "debug_recv" events in Net::XMPP2::Connection. |
75 |
|
76 |
Supportet extensions |
77 |
This is the list of supported XMPP extensions: |
78 |
|
79 |
XEP-0086 - Error Condition Mappings |
80 |
"A mapping to enable legacy entities to correctly handle errors from XMPP-aware entities." |
81 |
|
82 |
This extension will enable sending of the old error codes when |
83 |
generating a stanza error with for example: |
84 |
Net::XMPP2::Writer::write_error_tag |
85 |
|
86 |
XEP-0077 - In-Band Registration |
87 |
This extension lets you register new accounts "in-band". To use this |
88 |
look at the description of the "register" option to the "new" method |
89 |
of Net::XMPP2::Connection. |
90 |
|
91 |
AUTHOR |
92 |
Robin Redeker, "<elmex at ta-sa.org>" |
93 |
|
94 |
BUGS |
95 |
Please report any bugs or feature requests to "bug-net-xmpp2 at |
96 |
rt.cpan.org", or through the web interface at |
97 |
<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-XMPP2>. I will be |
98 |
notified, and then you'll automatically be notified of progress on your |
99 |
bug as I make changes. |
100 |
|
101 |
SUPPORT |
102 |
You can find documentation for this module with the perldoc command. |
103 |
|
104 |
perldoc Net::XMPP2 |
105 |
|
106 |
You can also look for information at: |
107 |
|
108 |
* AnnoCPAN: Annotated CPAN documentation |
109 |
<http://annocpan.org/dist/Net-XMPP2> |
110 |
|
111 |
* CPAN Ratings |
112 |
<http://cpanratings.perl.org/d/Net-XMPP2> |
113 |
|
114 |
* RT: CPAN's request tracker |
115 |
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-XMPP2> |
116 |
|
117 |
* Search CPAN |
118 |
<http://search.cpan.org/dist/Net-XMPP2> |
119 |
|
120 |
ACKNOWLEDGEMENTS |
121 |
COPYRIGHT & LICENSE |
122 |
Copyright 2007 Robin Redeker, all rights reserved. |
123 |
|
124 |
This program is free software; you can redistribute it and/or modify it |
125 |
under the same terms as Perl itself. |
126 |
|