node.js与vc++程序之间的TCP通信遇到的问题
发布于 12 年前 作者 andy24boyking 5873 次浏览 最后一次编辑是 8 年前

一个很简单的测试例子。在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 试试看

可能是没有进行网络字节序转换

回到顶部