Thanks again. I've never taken the time to learn how pack and unpack work as well as I should, and it looks like that mistake has finally caught up with me.
For what it's worth - the original C++ code (which I didn't write) used the functions htonl() and ntohl(). I was not familiar with those, but could tell that it had something to do with encoding/decoding data, so I googled for a perl implementation, and found one in the Net::Inet module on CPAN. It's written to take an array of inputs, but I knew that in my case I'd only be sending in a single argument.
As it turns out, my code did have another error: recv() returns undef if there's an error, so I had to change this:
# this is broken !!! $socket->recv($data, $reponse_length) or die "Couldn't read data from +server: $!";
into this:
unless (defined $socket->recv($data, $reponse_length)) { die "Couldn't read data from server: $!"; }
But everything seems to be working now -thank you!!
In reply to Re^4: Problem Transmitting Data via TCP/IP
by scorpio17
in thread Problem Transmitting Data via TCP/IP
by scorpio17
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |