我想确定用户目前是否“在线”或连接到Meteor服务器。 我在发送用户消息之前需要此信息,如果用户未连接,我想通过电子邮件发送消息。检查用户目前是否在线流星服务器
我知道,对于完全无状态的传统Web应用程序,“在线”使用的定义有点不清楚,但由于现代Web框架依赖于WebSocket,如果WebSocket打开,用户应该在线。
问题是流星是否包含确定用户是否连接的方法?
我想确定用户目前是否“在线”或连接到Meteor服务器。 我在发送用户消息之前需要此信息,如果用户未连接,我想通过电子邮件发送消息。检查用户目前是否在线流星服务器
我知道,对于完全无状态的传统Web应用程序,“在线”使用的定义有点不清楚,但由于现代Web框架依赖于WebSocket,如果WebSocket打开,用户应该在线。
问题是流星是否包含确定用户是否连接的方法?
总结:是的,有这样的机制。
这里有一个例子,它将用户的活动登录连接存储到流星服务器,并通过自己的集合或作为用户配置文件的一部分使它们可用。
参见:https://github.com/dburles/meteor-presence
(创建一个新的集合,称为派驻)
或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
[流星用户状态(https://github.com/mizzao/meteor-user-status)也很类似 – blueren