无法使用 Nodejs 网络模块向 GPS 设备 FM1125 发送确认



我正在尝试从GPS设备Teltonika FM1125捕获数据。 该设备首先发送IMEI号码,并在确认时发送坐标数据。 我收到了IMEI号码,但是当我尝试发送确认时,它仍在发送相同的旧数据。

我正在使用 NodeJS 网络模块来创建服务器。这是我尝试过的。

const server = net.createServer((c) => {
console.log('client connected');
c.on('data', (data) => {
console.log(data);
var textChunk = data.toString();
if(textChunk.length<20){
c.write("01", function () {
console.log('response send to device');
});
}
console.log(textChunk);    
});
c.on('end', () => {
console.log('client disconnected');
})
});
server.on('error', (err) => {
throw err;
});
server.listen(9030, () => {
console.log('server bound');
});

我相信您正在将字符串"01"写入套接字,当写入套接字时,此字符串将被编码为 UTF-8 字符串。您可以将参数传递给 .write(( 方法以覆盖此编码。这不会将字节0x01写入套接字,而是将字节写入0x30 0x31。这 2 个字节表示字符串"01"。

您可能最好将 UInt8Array 传递给 .write(( 方法,其中包含一个值为 0x01 的字节。

最新更新