server.pl
use strict; use warnings; use IO::Socket (); my $listen_fh = IO::Socket->new( Domain => IO::Socket::AF_INET(), Proto => 'tcp', LocalAddr => '127.0.0.1', Listen => 1, ) or die("Unable to create listening socket: $!$/"); print('Listening on port ', $listen_fh->sockport(), '.', $/); my $client_fh = $listen_fh->accept() or die("Unable to accept a connection: $!$/"); print('Accepted a connection from ', $client_fh->peerhost(), ':', $cli +ent_fh->peerport(), '.', $/); while (<$client_fh>) { print $client_fh uc($_); } print('Connection closed by client or by error.', $/);
client.pl
use strict; use warnings; use IO::Socket (); my $peer_port = shift(@ARGV) or die("Specify the port on the command line.$/"); my $server_fh = IO::Socket->new( Domain => IO::Socket::AF_INET(), Proto => 'tcp', PeerAddr => '127.0.0.1', PeerPort => $peer_port, ) or die("Unable to connect to server: $!$/"); print('Connected to ', $server_fh->peerhost(), ':', $server_fh->peerpo +rt(), '.', $/); print('Type stuff to be uppercased by server. Blank line to exit.', $/ +); for (;;) { last if (!defined($_ = <STDIN>) || $_ eq $/); print $server_fh $_; last if (!defined($_ = <$server_fh>)); print; } print('Connection closed by server or by error or by request.', $/);
In reply to Re^2: two-way socket works once only?
by ikegami
in thread two-way socket works once only?
by wolfger
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |