流星服务器关闭套接字与客户端的消息

时间:2015-02-03 01:30:49

标签: meteor

没有太多细节,我正在构建一个用户加入房间的应用程序,我需要能够从房间启动它们,尽可能少地依赖客户端代码。

最好的方法是什么?

这意味着结束任意用户的订阅。我发现停止从服务器订阅的唯一地方是publish()函数,每个订阅只调用一次。所以我在那里放了一个事件监听器来监听该连接唯一的发射。这意味着我有一个每个订阅的事件监听器......

无论如何,事件正在解雇,而在那里,我试过了:

this._session.socket.close(1, 'You have been kicked');

这会关闭套接字,但我找不到在客户端上侦听该事件以识别踢的方法,而不会监听所有断开连接。

必须有一种方法可以做到这一点,我忽视了。

感谢。

1 个答案:

答案 0 :(得分:1)

我认为你应该使用数据库。

Rooms.update(roomId, {$pull: {members: userId}});

然后,确保发布仅发布用户所属的会议室,并确保向会议室发送消息的方法也检查用户是否也是会员。