If you read for input with zero timeout, and then only try and process the data if there's anything to be processed, then the loop will run through both options, regardless of whether there's data on both inputs or not. Don't forget to add in something to stop it looping at high speed, though, or it'll eat all your CPU while it's not doing anything.
An alternative solution is to fork off a process for each tcp connection you're making, as you don't appear to be doing any cross communication between the two in your example code. That way you can wait indefinately on input still.
the hatter
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|