Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: How to do simultaneous reads and writes to/from a socket?

by sonofason (Sexton)
on May 10, 2006 at 10:28 UTC ( #548424=note: print w/ replies, xml ) Need Help??


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; }


Comment on Re^2: How to do simultaneous reads and writes to/from a socket?
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://548424]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2015-07-08 03:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls