server.pl:
use strict;
use IO::Socket;
my $server = IO::Socket::INET->new(Proto => "tcp",
Listen => 5,
LocalPort => "3000",
Timeout => 2000)
|| die "failed to start server\n";
print "server wait for client to connect ...\n";
my $connection = $server->accept;
print "a client connected\n";
while (1) {
my $req;
$connection->recv($req, 7000);
print "server received $req\n";
my $res = $req + 1;
print $connection $res;
print "server responsed $res\n";
}
client.pl
use strict;
use IO::Socket;
my $client = IO::Socket::INET->new(Proto => "tcp",
PeerAddr => "172.135.2.54",
PeerPort => "3000",
Timeout => 2)
|| die "failed to connect to a server\n";
my $req = 1;
while (1) {
print $client $req;
print "client sent $req\n";
my $res;
$client->recv($res, 7000);
print "client received $res\n";
$req = $res;
}
|