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 (14 years, 9 months ago) by root
Branch: MAIN
CVS Tags: rel-0_7
Changes since 1.4: +1 -4 lines
Log Message:
*** empty log message ***

File Contents

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