检查用户当前是否在线到流星服务器
Check if a user is currently online to meteor server
我想确定用户当前是否 "online" 或连接到 Meteor 服务器。
在发送用户消息之前我需要此信息,如果用户未连接我想通过电子邮件发送消息。
我知道对于完全无状态的传统 Web 应用程序,"online"use 的定义有点不清楚,但是由于现代 Web 框架依赖于 websocket,如果websocket 已打开。
问题是 Meteor 是否包含确定用户是否已连接的方法?
总结:对,有这么一个机制
例如,有一些包,它存储用户与 meteor 服务器的活动登录连接,并通过自己的集合或作为用户配置文件的一部分提供它们。
参见:https://github.com/dburles/meteor-presence
(创建一个名为 Presences 的新集合)
或https://github.com/dan335/meteor-user-presence/
(创建用户的个人资料条目,称为状态。但是,还有一个集合来存储和更新后台信息)
或https://github.com/mizzao/meteor-user-status
(感谢评论中的blueren)
代码示例(来自第一个列出的包)
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);
});
});
如果您不想依赖这些包,您可以自己使用该机制。
参见:https://docs.meteor.com/api/connections.html#Meteor-onConnection
我想确定用户当前是否 "online" 或连接到 Meteor 服务器。 在发送用户消息之前我需要此信息,如果用户未连接我想通过电子邮件发送消息。
我知道对于完全无状态的传统 Web 应用程序,"online"use 的定义有点不清楚,但是由于现代 Web 框架依赖于 websocket,如果websocket 已打开。
问题是 Meteor 是否包含确定用户是否已连接的方法?
总结:对,有这么一个机制
例如,有一些包,它存储用户与 meteor 服务器的活动登录连接,并通过自己的集合或作为用户配置文件的一部分提供它们。
参见:https://github.com/dburles/meteor-presence
(创建一个名为 Presences 的新集合)
或https://github.com/dan335/meteor-user-presence/
(创建用户的个人资料条目,称为状态。但是,还有一个集合来存储和更新后台信息)
或https://github.com/mizzao/meteor-user-status
(感谢评论中的blueren)
代码示例(来自第一个列出的包)
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);
});
});
如果您不想依赖这些包,您可以自己使用该机制。
参见:https://docs.meteor.com/api/connections.html#Meteor-onConnection