Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I definitely prefer BrowserUK’s approach of having just one thread that does the socket-handling, with two queues ... one (or more) for inbound work, and the other for completed.   It gives you a very clean flow of control, and a method for accepting inbound work (and for disposing of completed work) that remains consistent no matter how big the loads get.   The intake and outtake functions take a consistent amount of resources no matter how many workers there are, and a tunable number of workers ply their business no matter how backlogged the queues may get.   (They can also easily shut-down a denial of service attack, because, so to speak, you have one faithful secretary whose job it is to answer the phone, and who also knows how big the intake queue is getting.   This one process is in the position to know, with the power to act.)   You can calculate the system’s optimal capacity to do work, set the knobs accordingly, and know that the system will churn through the work without fear of thrashing.   Definitely the best scalable solution.

In reply to Re: TCP Server hangs with multiple client connections by sundialsvc4
in thread TCP Server hangs with multiple client connections by rmahin

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    [holli]: gtg, l8er you lovely bunch

    How do I use this? | Other CB clients
    Other Users?
    Others avoiding work at the Monastery: (8)
    As of 2017-11-21 14:04 GMT
    Find Nodes?
      Voting Booth?
      In order to be able to say "I know Perl", you must have:

      Results (302 votes). Check out past polls.