Hello, I wonder if you can help me. I am new to nodejs and I am trying to write a little application that will talk to a server written in C (the server is third-party). The server requires XML messages with a binary string for the length of the message being sent. The string is meant to represent a unsigned int 32bit word. I'm not so familiar with bit manipulation.
I tried the following code (follwing an example on stackexchange): var net = require('net'); var result = ''; var msgheader = "some string"; var msg = "some other string"; var msglen = msgheader.length; result += String.fromCharCode(msglen >>> 24 & 0xFF); result += String.fromCharCode(msglen >>> 16 & 0xFF); result += String.fromCharCode(msglen >>> 8 & 0xFF); result += String.fromCharCode(msglen & 0xFF); var smsg = result + msgheader + msg; var client = net.createConnection({host: 'localhost', port: 1250}); client.write(smsg); client.end(); The C server picks up the correct length if the msglen is 127 or less. But, if it's 128 or more the server doesn't seem to decode the length correctly (it decodes a much larger length) and reads part of the message instead of reading just the header. I'm not sure what the problem is or how to go about fixing it. It almost seems as if the packing of the string is missing something. But, I'm not sure what. The following ruby code works fine. require 'socket'; s = TCPSocket.open('localhost', 1250); msg = "header message..." hmsg = hmsg + "some message..." smsg = [hmsg.length].pack("N") + msg s.write(smsg) s.close Does anyone have any ideas or suggestions? Many thanks, adil -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.