nodejs使用net组件采集基于tcp协议的设备信息

因项目需要,写了这些代码,现摘录下来,以备参考:

const net   = require('net')
const tools = require('./tools')


//server 代码
let tcpServer = net.createServer((conn) => {
  conn.on('close',() => {
      console.log('离线')
  })

  conn.on('end',() => {
      console.log('结束')
  })

  conn.on('data',(data) => {
    //data为遵循MODUBS TCP 协议标准的16进制buffer数组
    console.log(data);
    //根据协议解析业务数据
    console.log(parseInt('0x' + data.toString('hex', 10, 12)));
    console.log(parseInt('0x' + data.toString('hex', 12, 14)));
    //do something....
  })
});
tcpServer.listen(9090,() => {
  console.log('开始监听')
})


// client 代码
let client = net .createConnection(8181,'192.168.2.105');
client.setEncoding('utf8');
client.on('connect',() =>{
    console.log('客户端xxx已连接');
})

client.on("data",function(data){
    console.log(data.toString());
    //do something...
})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些关于使用Node.js搭建TCP/IP协议中间层来接收设备数据的建议。 首先,您需要使用Node.js内置的net模块来建立TCP服务器。可以使用以下代码创建一个TCP服务器: ``` const net = require('net'); const server = net.createServer(socket => { // 处理设备发送的数据 socket.on('data', data => { console.log(data.toString()); // 在这里对数据进行处理 }); }); server.listen(8080, () => { console.log('TCP server is listening on port 8080'); }); ``` 在这个例子中,我们创建了一个TCP服务器并监听8080端口。当设备连接到这个服务器时,它会发送数据,我们可以使用socket.on('data', ...)来处理这些数据。在这个回调函数中,我们可以对数据进行任何必要的处理,例如解析、验证、存储等等。 接下来,您需要考虑如何将设备数据传输到您的应用程序中。您可以使用第三方库(例如socket.io)来实现实时数据传输和双向通信。以下是一个使用socket.io的示例: ``` const net = require('net'); const io = require('socket.io')(3000); const server = net.createServer(socket => { socket.on('data', data => { console.log(data.toString()); // 将数据发送给Socket.io客户端 io.emit('data', data.toString()); }); }); server.listen(8080, () => { console.log('TCP server is listening on port 8080'); }); io.on('connection', socket => { console.log('Socket.io client connected'); }); ``` 在这个例子中,我们在端口3000上创建了一个Socket.io服务器,并在设备数据到达时使用io.emit('data', ...)将数据发送给所有连接的客户端。在Socket.io客户端连接时,我们可以使用io.on('connection', ...)处理这个事件。 最后,您需要确保您的中间层应用程序具有足够的安全性和可靠性。例如,您可以使用身份验证和加密来保护设备数据,并使用错误处理和日志记录来处理任何异常情况。 希望这些提示可以帮助您开始构建您的中间层应用程序!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值