/[Sack]/trunk/lib/Sack/Client.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/lib/Sack/Client.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 168 - (hide annotations)
Mon Nov 2 16:08:56 2009 UTC (14 years, 8 months ago) by dpavlin
Original Path: trunk/experiments/protocol-v3/client.pl
File MIME type: text/plain
File size: 658 byte(s)
we need Data::Dump somewhere (temp fix)

1 dpavlin 163 #!/usr/bin/perl
2    
3     use warnings;
4     use strict;
5    
6     use IO::Socket::INET;
7     use IO::Select;
8     use Storable qw();
9 dpavlin 168
10     use lib '/srv/Sack/lib';
11 dpavlin 163 use Data::Dump qw(dump);
12    
13     my $port = shift @ARGV;
14    
15     my $sock = IO::Socket::INET->new(
16     PeerAddr => '127.0.0.1',
17     PeerPort => $port,
18     Proto => 'tcp',
19     ) || die $!;
20    
21     my $sel = IO::Select->new($sock);
22     $sel->add($sock);
23    
24     while (1) {
25     for my $sock ($sel->can_read(1)) {
26     my $request = Storable::fd_retrieve($sock);
27     warn "[$port] <<<< ", dump($request), $/;
28     my $response = { port => $port };
29     $response->{ping} = 'pong' if $request->{ping};
30     Storable::store_fd( $response, $sock );
31     warn "[$port] >>>> ", dump($response), $/;
32     }
33     }

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26