in reply to Re: How to do simultaneous reads and writes to/from a socket?
in thread How to do simultaneous reads and writes to/from a socket?

Thanks for the replies. I'll try your suggestions. In the meantime, here is some example code illustrating what I am doing:
use strict; use threads; use threads::shared; use IO::Socket; my $keep_running : shared = 1; my $socket = IO::Socket::INET->new(PeerAddr => "127.0.0.1", PeerPort = +> 8080, Type => SOCK_STREAM, Proto => 'tcp'); my $sender_thread = threads->new(\&do_send, $socket); my $listener_thread = threads->new(\&do_listen, $socket); $sender_thread->detach(); $listener_thread->join(); $socket->close(); sub do_listen { my $sock = shift; STDOUT->autoflush(1); while ($keep_running) { my $message = $sock->getline(); last unless defined($message); print $message; } } sub do_send { my $sock = shift; while (my $line = <STDIN>) { $sock->print($line); $sock->flush(); } $keep_running = 0; }