Net::Lite::XMPP - Perl XMPP client


Net-Lite-XMMP documentation Contained in the Net-Lite-XMMP distribution.

Index


Code Index:

NAME

Top

Net::Lite::XMPP - Perl XMPP client

SYNOPSIS

Top

use Net::Lite::XMPP; my $xmpp=Net::Lite::XMPP->new();

DESCRIPTION

Top

Very simple XMPP client with support for TLS

SEE ALSO

Top

Net::XMPP

AUTHOR

Top

Dariush Pietrzak,'Eyck' <cpan@ghost.anime.pl>

COPYRIGHT AND LICENSE

Top


Net-Lite-XMMP documentation Contained in the Net-Lite-XMMP distribution.

package Net::Lite::XMPP;


use 5.006000;
use strict;
use warnings;

require Exporter;
use AutoLoader qw(AUTOLOAD);

our @ISA = qw(Exporter);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration	use Net::Lite::XMPP ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(

			) ] );

our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );

our @EXPORT = qw(

		);

our $VERSION = '0.02';
# Preloaded methods go here.
# Autoload methods go after =cut, and are processed by the autosplit program.
BEGIN {
};

sub new($$) {
	my $class=shift;
	my $self={};
	bless $self,$class;
	return $self;
};
sub open($$$) {
	my ($self,$host,$port)=@_;
	my ($data);
	if (!(defined($port))) {$port=5223};
	use IO::Socket::SSL;
	my $Socket = new IO::Socket::SSL("$host:$port");
	$self->{'Socket'}=$Socket;
	# Send header handshake:
	print $Socket q|<?xml version='1.0'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" to="grendel.net.lub.pl" xmlns="jabber:client">|;
	print "Hello sent...\n";
	# we expect sth like :
	# <?xml version='1.0'?>
	# <stream:stream xmlns='jabber:client'
	# xmlns:stream='http://etherx.jabber.org/streams'
	# id='3694886828' from='localhost'>
	my $result=$Socket->pending();
	print "Got $result bytes..\n";
	sleep 1;
	my $result=$Socket->pending();
	print "Got $result bytes..\n";

	
	return defined($Socket);
};

sub login {
	my ($self,$user,$pass)=@_;
	my $Socket=$self->{'Socket'};
	print $Socket q|
		<iq type='set' id='auth'>
		<query xmlns='jabber:iq:auth'>
		<username>mremond</username>
		<password>azerty</password>
		<resource>TelnetClient</resource></query></iq>
		|;
	# we expect:
	# <iq type='result' id='auth'/>

};

sub trivialm {
	return 1;
};

1;
__END__