我想通过 websocket 将数据从 node.js 后端发送到客户端。
我的代码如下
const WebSocketServer = require("websocket").server;
const http = require("http");
// setup server
const server = http.createServer();
// setup websocket
wsServer = new WebSocketServer({
httpServer: server
});
wsServer.on('request', function (request) {
const connection = request.accept('echo-protocol', request.origin);
console.log((new Date()) + ' Connection accepted.');
connection.on('close', function (reasonCode, description) {
console.log((new Date()) + ' Peer ' + connection.remoteAddress + ' disconnected.');
});
connection.sendUTF("Test Message!")
});
// start server
server.listen(8080, function () {
console.log((new Date()) + ' Server is listening on port 8080');
});
现在,如果我在 wsServer.on
内发送消息,它会按预期工作。
但是,这仅在 request
上调用,例如当后端收到客户端的请求时。
有了这个,我可以例如回应来自客户端的请求
我正在寻找的是如何在没有客户端请求的情况下向客户端发送数据。
我有 connection
对象并且连接是打开的,所以我想我需要处理这个。
但是我如何在 wsServer.on
之外使用它,例如在另一个函数中,例如 setIntervall
等的回调函数。
谢谢!