我用 node.js 和 express 实现了我的第一个网络应用程序。它工作正常。结构如下。
app.get('/', (request, response) => {
response.render('home', {orders, actualPosition, path});
});
app.post('/', function(req, res){
//do something
res.redirect('/')
})
app.listen(8080, () => {
console.log(`Listening on http://127.0.0.1:${port}/ !`);
})
现在我想与 matlab 程序通信,最好通过 tcp/ip。 意味着我有一个 matlab 程序,可以与网络应用程序交换数据。我通过在另一个端口上打开一个带有网络的服务器来发送数据:
var server = net.createServer(function(socket) {
//read data
socket.setEncoding("ascii"); //set data encoding (either 'ascii', 'utf8', or 'base64')
socket.on('data', function(data, res) {
//update new data in browser
});
//send data
socket.write('Echo server\n');
socket.pipe(socket);
});
server.listen(8081, '127.0.0.1');
我现在的问题是如何在浏览器中显示通过 tcp/ip 接收到的数据。我可以从 extern 以某种方式调用 app.get('/') 来刷新页面吗?我有什么选择来完成这项工作?
已经谢谢了
最佳答案
我认为您的结构应该接近于以下内容:
- Express 应用程序接受来自浏览器的请求
- 路由处理器通过网络服务器发送请求
- 网络服务器响应数据
- 快速路由处理程序用数据响应客户端
因此,您的错误是您将拥有 http 服务器和网络客户端(而不是网络服务器)。 Sample net client.
关于node.js - 如何在 Node.js 中结合使用 express 和 tcp-socket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45716652/