There are a couple of odd things about your code:
If you use sysread without an offset parameter, then it will always read into the start of your buffer. That means that if your server's response happened to turn up in more than one packet, you might trash the first bit of content with the second. I guess you might not see this if the responses are small enough to fit in one packet, but that's more by luck than judgement, especially if the data could be up to 4000 bytes in length.
Your algorithm for reading the response is a bit odd:
- Wait 4s for server to do its thing
- Enter a loop, reading anything that turns up (but always overwriting the start of the buffer, as noted)
- Abort the loop after 1s, no matter what (if anything) arrived
- Close socket
- Hope that whatever arrived is OK
You might want to consider either:
- Waiting for 5s, and doing a single read to catch everything that's turned up
- Waiting for 5s, and looping until sysread returns nothing
- Looping until the server closes the socket (at which point I think sysread may return 0 or undef - need to experiment).
--
use JAPH;
print JAPH::asString();
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.