我正在尝试从GPS设备Teltonika FM1125捕获数据。 该设备首先发送IMEI编号,并在确认后发送坐标数据。 我收到IMEI号码,但是当我尝试发送确认时,它仍在发送相同的旧数据。
我正在使用nodejs net模块创建服务器。这就是我尝试过的。
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');
});
答案 0 :(得分:0)
我相信您正在将字符串“ 01”写入套接字,当写入套接字时,该字符串将被编码为UTF-8字符串。您可以将参数传递给.write()方法以覆盖此编码。这不会将字节0x01写入套接字,而是会将字节0x30 0x31写入套接字。这2个字节代表字符串“ 01”。
最好将UInt8Array传递给.write()方法,该方法包含一个值为0x01的字节。