node.js与vc++程序之间的TCP通信遇到的问题
一个很简单的测试例子。在vc++里初始化套接字简历连接后,用send函数发了两个int型数据。
int Width=1000, Height=500;
send(dataSock, (char *)&Width, sizeof(Width)+1, MSG_OOB);
printf("send: %d\n", Width);
send(dataSock, (char *)&Height, sizeof(Height)+1, MSG_OOB);
printf("send: %d\n", Height);
在node.js中接收如下:
client.on('data', function(data) {
var width = data.readInt32LE(0);
console.log("rcv:"+width);});
client.on('data', function(data) {
var height = data.readInt32LE(0);
console.log("rcv:"+height);
client.destroy();});
结果接收到的两次数据均为1000。没有找到原因。。向各位求助!
2 回复
加上 TCP_NODELAY 试试看
可能是没有进行网络字节序转换