Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re^4: Problem Transmitting Data via TCP/IP

by scorpio17 (Abbot)
on Aug 09, 2012 at 20:12 UTC ( #986601=note: print w/replies, xml ) Need Help??

in reply to Re^3: Problem Transmitting Data via TCP/IP
in thread Problem Transmitting Data via TCP/IP

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!!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://986601]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2017-04-29 06:16 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (531 votes). Check out past polls.