Clear questions and runnable code get the best and fastest answer |
|
PerlMonks |
Re: Socket programmingby SuicideJunkie (Vicar) |
on Nov 12, 2008 at 15:34 UTC ( [id://723192]=note: print w/replies, xml ) | Need Help?? |
Please try to edit your posts to add/correct things instead of making new ones with the same question. http://perlmonks.org/?node_id=723152 It is definitely possible to have sockets die without notice, such that the while loop won't exit. I suffered that when I wrote a telnet-based multiplayer market trading game. What I did was to select from the current connections, and carefully read a byte at a time. Once there is enough to act on, I call whatever functions need calling. (If not, buffer the input so far, and loop back to the select) If one of the connections dies silently and unexpectedly, the select won't pick it to read from since there is no more input to read. After a few minutes of no activity, the dead/timed-out connections can be closed.
In Section
Seekers of Perl Wisdom
|
|