Socket.io,发出事件,而不是在用户连接时发出

时间:2018-09-15 16:50:56

标签: node.js socket.io

所有发出事件的示例均具有以下格式:

io.sockets.on('connection', function (socket) {
  socket.emit('myEvent', { hello: 'world' });
});

我想在长时间运行的过程结束时发出一个事件,并将其发送给客户端。显然,客户端已经连接。

那我该怎么做?

1 个答案:

答案 0 :(得分:0)

最好的方法是使用socket.join('some room')将插座添加到房间中。房间ID(示例中的'some room')可以是用户ID或其他名称,具体取决于您的需求。

当您需要发出事件时,请将其发出到房间而不是使用io.to('some room').emit('some event')发出到特定的套接字。 Socket.IO会记住向房间添加了哪些套接字,并向这些套接字发出事件。

您可以了解关于socket.io房间in the docs