在node.js中使用dgram发送udp消息

时间:2019-06-15 15:52:38

标签: node.js

const dgram = require('dgram');
var message =Buffer.from('\x53\x5a\x30\x30\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x03\x01\xce\x1e');
const client = dgram.createSocket('udp4');
client.send(message,8900,'192.168.178.117', function(err, bytes) {
if (err) throw err;
client.close();
});

当我用Wireshark看包装时: 实际结果: not correct

但是那是不正确的, 它应该是: correct

当我像这样在linux shell中使用netcat发送消息时:

echo -n -e "\x53\x5a\x30\x30\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x03\x01\xce\x1e" | nc -u 192.168.178.117 8900

这是正确的(如第二张图片所示),但我无法使它与node.js一起正常工作

有人看到我在做错什么吗?

1 个答案:

答案 0 :(得分:0)

我发现我必须将Buffer更改为ascii,它现在可以工作。