Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

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

by marto (Cardinal)
on May 10, 2006 at 10:04 UTC ( [id://548421]=note: print w/replies, xml ) Need Help??


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

Hi sonofason,

I notice that this if your first post. Welcome to the Monastery.
To echo some of what jesuashok has advised, post your code so that people can point out where things are going wrong, or could be improved. Also have a read at the PerlMonks FAQ and How do I post a question effectively? if you have not already done so.

Thanks

Martin
  • Comment on Re: How to do simultaneous reads and writes to/from a socket?

Replies are listed 'Best First'.
Re^2: How to do simultaneous reads and writes to/from a socket?
by sonofason (Sexton) on May 10, 2006 at 10:28 UTC
    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; }

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2024-04-24 06:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found