我可以向未连接的用户发出websocket事件吗?

时间:2017-11-09 06:57:25

标签: websocket socket.io

客户端连接到基于websocket的api-gateway-server。我可以保存此客户端的某种引用/地址,以便从另一台服务器向该客户端发送事件吗?

1 个答案:

答案 0 :(得分:1)

如果您使用socket.io并拥有客户端ID,则可以发送客户端事件。您可以在服务器之间代理事件,最后将其发送到客户端。但客户端必须连接到任何服务器上。如果客户端处于脱机状态,则无法发送事件。

来自文档https://socket.io/docs/rooms-and-namespaces/#default-room

  

Socket.IO中的每个Socket都是由一个随机的,不可思议的,   唯一标识符Socket#id。为了您的方便,每个插座   自动加入由此ID标识的房间。

要将活动发送到任何房间使用:

io.to('some room').emit('some event');

您可以使用用户ID执行任何操作,将其放在您想要的任何位置但最终您必须使用相同的用户ID从与用户保持套接字连接的服务器向该用户发送事件