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

为Node.js TCP服务器创建REST API包装器,node.js,rest,http,tcp,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 + '.'); }); 我想围

我已经使用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客户端。例如,如果我创建了一个URL,当我点击这个URL时,它将触发我的TCP服务器发送消息


由于TCP服务器和RESTAPI服务器位于不同的端口上,我甚至对如何执行此操作感到困惑。请任何人帮忙

我通过创建一个node.js应用程序来解决这个问题,该应用程序充当与node.js tcp服务器对话的tcp客户端。在客户端,我集成了express。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()});
 });

});

我通过创建一个node.js应用程序来解决这个问题,该应用程序充当与我的node.js tcp服务器对话的tcp客户端。在客户端,我集成了express。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()});
 });

});

为什么不使用Express或类似工具?只是想知道是的,我可以使用express,但我不确定它将如何工作,因为它们都在不同的端口上。您可以将express配置为在任意端口上运行HTTP服务器<代码>express().listen(端口,()=>{//callback})是的,但我认为他们不能共享一个端口,一个是TCP服务器,另一个是http服务器,或者我弄错了吗?http使用TCP协议运行,所以基本上任何http服务器都是TCP服务器。无论如何,据我所知,不能在同一个端口上有两个http或tcp服务器。为什么不使用Express或类似的?只是想知道是的,我可以使用express,但我不确定它将如何工作,因为它们都在不同的端口上。您可以将express配置为在任意端口上运行HTTP服务器<代码>express().listen(端口,()=>{//callback})是的,但我认为他们不能共享一个端口,一个是TCP服务器,另一个是http服务器,或者我弄错了吗?http使用TCP协议运行,所以基本上任何http服务器都是TCP服务器。无论如何,据我所知,在同一个端口中不能有两个http或tcp服务器。