我正在开发LoopBack应用程序,目的是安排存储从GPS设备收集的一组度量的过程,这些GPS设备旨在通过TCP / IP与服务器进行通信。数据交换协议是预定义的,并且是二进制的,因此我无法从LoopBack设置数据收集的优点中受益。
由于Socket.IO的高级性质,因此无法像example那样使用Routes。客户端和服务器都必须同时使用Socket.IO。
LoopBack的{{3}}功能也不适用,因为数据交换是低级且双向的。此外,设备具有两个单独的可配置选项:主机(域名或IP地址)和端口,而没有任何“路径”选项。
因此,我已经在server/server.js
文件中实现了以下代码,以便接收数据:
// ...
boot(app, __dirname, function(err) {
if (err) throw err;
// start the server if `$ node server.js`
if (require.main === module) {
app.start();
const srvRaw = require('net').createServer(function(socket) {
socket.on('data', function(buffer) {
// parse received data here
});
});
srvRaw.listen(PORT);
}
});
内置的net
软件包用于打开专用端口,以进行数据交换。
但是,如果这种方法是唯一可行的,我有点犹豫吗?是否有更好的方法使用一些内置功能来安排低级网络协商(对于LoopBack或Express,是“本机”)?
谢谢!