为Node.js TCP服务器创建REST API包装器

时间:2019-02-26 16:55:45

标签: node.js rest http tcp

我设法使用如下所示的node.js创建了一个TCP服务器。

const net = require('net');
const port = 7070;
const host = '127.0.0.1';

const server = net.createServer();
  server.listen(port, host, () => {
  console.log('TCP Server is running on port ' + port + '.');
});

我想为此创建一个http rest API包装器。这样我就可以将消息从TCP服务器发送到TCP客户端。例如,如果我创建一个URL http://example.com/api/send-message,当我点击该URL时,它将触发我的TCP服务器发送消息。

由于TCP服务器和REST API服务器位于不同的端口上,我什至对如何执行此操作感到困惑。任何人都可以帮助

1 个答案:

答案 0 :(得分:0)

我设法通过创建一个node.js应用程序来解决此问题,该应用程序充当与我的node.js tcp服务器通信的tcp客户端。在客户中,我集成了快递。 Express创建API,然后在每个端点上创建一个与TCP服务器通信的TCP连接,然后将响应发送回我的http API

const express = require('express')
const app = express()
const port = 3000;
const net = require('net');
const client = new net.Socket();


var tcpPort = 7070;
var tcpIP = '127.0.0.1';

app.get('/',function(req, res){

 client.connect(tcpPort, tcpIP);
 client.write('Hello world');
 client.on('data', function(data) {
    client.destroy();
    res.send({hello:data.toString()});
 });

});