ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/eg/chat_client
Revision: 1.5
Committed: Fri Aug 14 15:53:56 2009 UTC (17 years, 1 month ago) by root
Branch: MAIN
CVS Tags: rel-0_7
Changes since 1.4: +1 -4 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.2 #!/opt/bin/perl
2    
3 root 1.4 use common::sense;
4 elmex 1.1 use AnyEvent::MP;
5    
6 root 1.4 my ($nick, $servernode) = @ARGV;
7 elmex 1.1
8 root 1.4 initialise_node "slave/", $servernode;
9 elmex 1.3
10 root 1.4 $| = 1;
11 elmex 1.3
12 root 1.4 my $servernode = (resolve_node $servernode)->recv;
13 elmex 1.1
14 root 1.4 my $port = port;
15 elmex 1.1
16 root 1.4 my ($client, $server);
17 elmex 1.1
18 root 1.4 sub server_connect {
19     print "\rconnecting...\n";
20 elmex 1.1
21 root 1.5 $client = port { print "\r \r@_\n> " };
22 root 1.4 mon $client, sub {
23     print "\rdisconnected @_\n";
24     &server_connect;
25     };
26 elmex 1.1
27 root 1.4 $server = spawn $servernode, "::client_connect", $client, $nick;
28     mon $server, $client;
29     }
30 elmex 1.1
31 root 1.4 server_connect;
32 elmex 1.1
33 root 1.4 my $w = AE::io 0, 0, sub {
34     chomp (my $line = <STDIN>);
35     print "> ";
36     snd $server, $line;
37 root 1.2 };
38 elmex 1.1
39 root 1.4 print "> ";
40     AE::cv->recv;
41 elmex 1.1