http://www.perlmonks.org?node_id=548446


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

Rather than ithreads, consider an event system like POE. You can attach events to "line ready to read", and when the event triggers, you're the only one running so you can access your shared data easily without having to "lock" or "block".

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

  • 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 14:00 UTC

    jesuashok: Perhaps I should have mentioned earlier that I am working under Windows. Apparently, doing non-blocking socket IO under Windows is a little problematic, as discussed here. The polling solution does work well though and hopefully won't consume too much resources if I sleep for a short time (since I want to act immediately on incoming data) in between polls.

    merlyn: I will take a look at POE and see how it can help me.

    MonkE: I do understand that much more is needed for the server, but the code I posted was just a simplified exerpt from the client program. Thanks though!

    Many thanks!
    sonofason