我想确定用户当前是否在线"或连接到Meteor服务器。 我在发送用户消息之前需要此信息,如果用户未连接,我想通过电子邮件发送消息。
我知道对于完全无状态的传统Web应用程序来说," online"使用有点不清楚,但由于现代Web框架依赖于websocket,如果websocket打开,用户应该在线。
问题是Meteor是否包含一种确定用户是否已连接的方法?
答案 0 :(得分:1)
总结:是的,有这样的机制。
有一个例子包,用于存储用户与流星服务器的活动登录连接,并通过自己的集合或作为用户配置文件的一部分使它们可用。
(创建一个名为Presences的新集合)
或https://github.com/dburles/meteor-presence
(创建用户的个人资料条目,称为在线状态。但是,还有一个用于在后台存储和更新信息的集合)
或https://github.com/dan335/meteor-user-presence/
(感谢评论中的https://github.com/mizzao/meteor-user-status)
代码示例(来自第一个列出的软件包)
Meteor.onConnection(function(connection) {
// console.log('connectionId: ' + connection.id);
Presences.insert({ _id: connection.id });
connections[connection.id] = {};
tick(connection.id);
connection.onClose(function() {
// console.log('connection closed: ' + connection.id);
expire(connection.id);
});
});
如果您不想依赖包裹,您可以自己使用该机制。
请参阅:blueren