Difference between revisions of "Perl POE"

From Teknologisk videncenter
Jump to: navigation, search
m
m (Links)
Line 1: Line 1:
 
==POE - portable multitasking and networking framework for Perl==
 
==POE - portable multitasking and networking framework for Perl==
 +
== A simple multitasking TCP Server
 +
<source lang="perl">
 +
#!/usr/bin/perl
 +
 +
use warnings;
 +
use strict;
 +
use POE qw(Component::Server::TCP);
 +
 +
POE::Component::Server::TCP->new(
 +
        Port => 12345,
 +
        ClientConnected => sub {
 +
            print "got a connection from $_[HEAP]{remote_ip}\n";
 +
            $_[HEAP]{client}->put("Smile from the server.");
 +
        },
 +
        ClientInput => sub {
 +
            my $client_input = $_[ARG0];
 +
            $client_input =~ tr[a-zA-Z][A-Za-z];
 +
            $_[HEAP]{client}->put($client_input);
 +
        },
 +
        ClientDisconnected => sub {
 +
            print "client from $_[HEAP]{remote_ip} disconnected\n";
 +
        },
 +
);
 +
 +
POE::Kernel->run;
 +
exit;
 +
</source>
 
==Links==
 
==Links==
 
[http://search.cpan.org/~rcaputo/POE-1.003/lib/POE.pm CPAN POE]
 
[http://search.cpan.org/~rcaputo/POE-1.003/lib/POE.pm CPAN POE]
 
[[Category:Perl]]
 
[[Category:Perl]]

Revision as of 18:38, 15 March 2009

POE - portable multitasking and networking framework for Perl

== A simple multitasking TCP Server

#!/usr/bin/perl

use warnings;
use strict;
use POE qw(Component::Server::TCP);

POE::Component::Server::TCP->new(
        Port => 12345,
        ClientConnected => sub {
            print "got a connection from $_[HEAP]{remote_ip}\n";
            $_[HEAP]{client}->put("Smile from the server.");
        },
        ClientInput => sub {
            my $client_input = $_[ARG0];
            $client_input =~ tr[a-zA-Z][A-Za-z];
            $_[HEAP]{client}->put($client_input);
        },
        ClientDisconnected => sub {
            print "client from $_[HEAP]{remote_ip} disconnected\n";
        },
);

POE::Kernel->run;
exit;

Links

CPAN POE