0

我相信我有两个真正不同的选择(我不确定两者都行得通;我是新手):

假设我有两个希望 socket.io 处理的模块:模块 A 和模块 B。假设这是两个不同的聊天室。我什至不想要动态数量的聊天室(因为这限制了我的选择,而且我的问题并不是关于多功能性)。假设这是一个静态数量的聊天室。

选项1:

在客户端会话开始时,客户端通过发送事件socket.emit('registerA', {});或类似的东西将自己标识为聊天室 A 或聊天室 B 的成员。然后,在服务器端,我可以有类似的东西io.sockets.on('registerA', handleA);,其中 handleA 将是一个函数,它在每个单独的套接字进入时直接将侦听器添加到它。这将允许同名的多个事件(例如,方法 'post ' 可以以与聊天室 B 相同的方式发送给聊天室 A,但听者会因为它的注册方式而有所不同)。

选项 2:

具有适用于所有套接字的单独事件处理程序。这意味着套接字根本不必注册自己。根据聊天室的不同,“post”之类的动作可能是“Apost”或“Bpost”,它们可以单独处理。

在效率方面,哪个选项更好?

4

0 回答 0