I had to log in just to upvote this discussion. :-)

Just to throw in my 2 cents, it seems all the rage now is non-blocking I/O event loop systems, such as node.js, or that matter, any eventloop system. You don't wait on socket reads, ever. You check to see if something is there, with a proper sysread, and if not, move on to the next event in the loop.

From my prelimary studies of the new techniques, it seems that upon socket connection, the server issues a promise to deliver the requested data, and the eventloop reads it chunk by chunk as it comes in. Then, there are various ways to detect if a socket has gone stale, or broken.

But I would advise using something like AnyEvent or Glib, which are 2 well documented and used eventloop systems.

You might find this interesting. It shows how to use a couple of GUI based event loop systems. Simple threaded chat server


I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku ................... flash japh

In reply to Re: Keeping an INET socket inside a shared object by zentara
in thread Keeping an INET socket inside a shared object by Superfox il Volpone

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.