我正在创建一个聊天应用程序,我实际上已经实现了私人消息传递以及通道消息传递I.egroup messaging。我已经采用了一种方法,在该方法中,当用户连接时,我为每个用户分配一个房间,其用户ID为房间名称。此外,我根据房间发出消息。我想知道的是,这是一种不好的做法吗?如果有,怎么样?谢谢。
答案 0 :(得分:1)
将插座拆分到房间并不是一个坏习惯。 Socket.io提供了rooms and namespace功能,最新版本越来越强调这种用途。
无论如何,我建议您使用原生javascript Websocket对象,因为您将了解更多信息,获得更好的性能并控制代码。使用socket.io的原因随着时间的推移变得不那么重要了(IE8,flash,http轮询......)。
使用room只是对客户端套接字进行分区:通过索引对象内的数组就可以了。
关于NodeJS,我会选择ws。
答案 1 :(得分:0)
显然,问题中使用的技术不被视为不良做法。许多人已经开始使用这种技术并利用了房间。但是,可以为每个分配为套接字的用户而不是用户ID,用户名或电子邮件。那是因为在客户端获取id并不可取。