NodeJs Socket.io房间

时间:2018-12-12 16:07:23

标签: node.js sockets socket.io

这是一个非常简单的问题,但是我想确保我正确缩放了socket.io实现。经过nodejs后端的冗长过程后,我们正在使用socket.io来响应客户端。因此,基本上客户进行了呼叫,然后socket.io向客户发出信号,通知该过程已完成。同样,socket.io仅响应为该请求建立的临时房间。

在nodejs中,我为以下代码创建了一个全局变量,以便可以发回到客户室:

global.io = require('socket.io')(server);

但是要创建房间本身,我有点不确定如何全局创建它,以便只有连接并发出请求的套接字才能收到响应。

因此,如果我有500台通过socket.io启动连接的客户端计算机,那么每台客户端计算机都将拥有自己的套接字。为了确保房间的唯一性,我对所有500个房间都使用了GUID。当然,如果特定房间只有一个套接字正在评估发射,我不希望所有套接字都接收流量。...

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,那么您是否希望将信息发送到该1个插座?

也许是这样的:

socket.broadcast.to(socketId).emit('someeventname', eventData);

如果您与该客户端打开了连接,则意味着您通过 socket.id 获得了其套接字ID。您可以向该套接字发出事件。