如何通过 websocket 将数据从 node.js 服务器发送到客户端

时间:2021-04-17 12:00:30

标签: node.js websocket

我想通过 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 等的回调函数。

谢谢!

0 个答案:

没有答案