我已经设法使用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 + '.');
});

我想围绕这个创建一个HTTPRESTAPI包装器。这样我就可以从tcp服务器向tcp客户机发送消息。例如,如果我创建一个urlhttp://example.com/api/send-message并且当我点击这个url时,它将触发我的tcp服务器发送一条消息。
我很困惑,甚至不知道如何在tcp服务器和rest api服务器位于不同端口的情况下进行此操作。有人能帮忙吗

最佳答案

我通过创建一个node.js应用程序来解决这个问题,该应用程序充当与node.js tcp服务器对话的tcp客户端。在客户端,我集成了Express。express创建api,然后在每个端点上创建一个与tcp服务器通信的tcp连接,然后将响应发送回httpapi

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()});
 });

});

07-28 01:08
查看更多