Think about Loose Coupling | |
PerlMonks |
Re: recv() on forked processby BrowserUk (Patriarch) |
on Jul 26, 2012 at 20:20 UTC ( [id://983928]=note: print w/replies, xml ) | Need Help?? |
as soon as the child attempts to recv() from the server to check for messages - the parent stops and the tcp connection appears broken. You cannot send from a socket whilst it is blocked in a recv. That is, you cannot both send to & recv from (one end of) a socket simultaneously.You can simulate something like it, by setting the socket non-blocking; and polling the socket (select) to determine if there is anything to be read; and only attempting a recv if there is; thus keeping the time spent in the recv state to a minimum and maximising the time when a send will complete successfully. But this comes at the expense of forcing your application into operating like a party line. Something most monks will be too young to remember. Heck. I only vaguely remember the concept. But then again, things have a habit of going full circle. For a while there -- roughly the '80s to mid '90s -- companies had these amazingly magical devices called "answer phones" (for the younger amongst you, think "voice mail"). If you called them, and they were out or too busy to take the call, you left them your name and telephone number; and they called you back. Simples. Now -- for "our convenience and satisfaction" the inanimate voice lies -- we have to poll the damn phone listening to that awful tiny, usually out-of-date, and always cheesy musac interminably, all the time hoping that same inanimate voice won't come back and lie to us again:
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
In Section
Seekers of Perl Wisdom
|
|