Difference between revisions of "Perl POE"
From Teknologisk videncenter
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 17: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;