ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/eg/chat_server
(Generate patch)

Comparing AnyEvent-MP/eg/chat_server (file contents):
Revision 1.1 by elmex, Mon Aug 3 09:43:15 2009 UTC vs.
Revision 1.2 by root, Tue Aug 4 21:06:48 2009 UTC

1#!/opt/perl/bin/perl 1#!/opt/bin/perl
2
2use AnyEvent; 3use AnyEvent;
3use AnyEvent::MP; 4use AnyEvent::MP;
4 5
5become_public "localhost:1299"; 6become_public "127.0.0.1:1299";
6 7
7my $chatter_port = create_port; 8my $chatter_port = port;
8$chatter_port->register ("chatter"); 9
10reg $chatter_port, "chatter";
9 11
10my %client_ports; 12my %client_ports;
11 13
12$chatter_port->rcv (join => sub { 14rcv $chatter_port,
13 my ($chatter_port, $type, $client_port) = @_; 15 join => sub {
16 my ($tag, $client_port) = @_;
14 17
15 print "got new client port: $client_port\n"; 18 print "got new client port: $client_port\n";
19 $client_ports{$client_port} = 1;
16 20
17 $client_ports{$client_port} = 1; 21 0
18 0 22 },
19}); 23 message => sub {
24 my ($tag, $msg) = @_;
20 25
21$chatter_port->rcv (message => sub { 26 print "message> $msg\n";
22 my ($chatter_port, $type, $msg) = @_;
23 27
24 print "message> $msg\n"; 28 snd $_, message => $msg
29 for keys %client_ports;
25 30
26 snd $_, message => $msg for keys %client_ports; 31 0
27 0 32 };
28});
29 33
30AnyEvent->condvar->recv; 34AnyEvent->condvar->recv;
31

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines