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