【发布时间】:2017-04-27 19:55:01
【问题描述】:
我是节点新手。我正在尝试制作用户可以单击按钮的应用程序,并且某些内容将通过 TCP 发送到客户端。
这是我的 ECHO 服务器(来自 nodejs.org 的示例)
const net = require('net');
var HOST = '0.0.0.0'
var PORT = 6969;
var server = net.createServer();
server.listen(PORT, HOST);
console.log('Server listening on ' + server.remoteAddress + ':' + server.remotePort);
server.on('connection', function(socket) {
console.log('CONNECTED: ' + socket.remoteAddress + ':' + socket.remotePort);
socket.write('Hello from server');
// other stuff is the same from here
socket.on('data', function(data) {
socket.write('reply data ' + data);
});
});
你能解释一下如何在另一个 js 文件中获得这个连接吗?我正在尝试制作module.exports = server,但我不明白如何从另一个文件发送信息。请帮帮我
【问题讨论】:
-
如果你想在其他服务之间共享套接字对象,你需要在服务之间建立一个公共的通信点,这类似于微服务架构(现在一切似乎都是微服务)。您可以通过回调参数传递套接字对象。从我的角度来看,最好的方法是在一个服务中跟踪对象 ID=>socket,并且仅在第二个服务需要发送某些内容时将 ID 传递给另一个服务,只需将 ID 传递回主 tcp 服务器即可广播消息。
标签: javascript node.js tcp