首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteorjs在线用户

Meteorjs在线用户
EN

Stack Overflow用户
提问于 2012-11-06 04:22:41
回答 6查看 5.2K关注 0票数 12

有没有办法获得所有当前连接的用户的列表?我查看了许多聊天室教程,没有一个提供这种方法。这是可能的吗?如果可能,人们将如何正确地实现它呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-06-22 06:51:03

我已经设法找到了一种方法,可以在不使用低效的keep-alives的情况下做到这一点。基本上,用户登录或重新连接会将profile.online设置为true,注销或断开连接会将其设置为false。你可以将它添加为一个陨石智能包,并在这里尝试一下:

https://github.com/mizzao/meteor-user-status

修复或改进是值得赞赏的。

票数 18
EN

Stack Overflow用户

发布于 2012-11-23 13:55:16

我们通过在用户登录时设置online属性,然后定期pinging (每10秒)并将任何非活动用户设置为脱机来实现这一点。不是很理想,但它是有效的。我很想在Meteor中看到这个功能。以下是pinging函数。

代码语言:javascript
复制
Meteor.setInterval(function () {
  var now = (new Date()).getTime();
  OnlineUsers.find({'active':true,'lastActivity': {$lt: (now - 30 * 1000)}}).forEach(function (onlineActivity) {
    if(onlineActivity && onlineActivity.userId) {
      OnlineUsers.update({userId:onlineActivity.userId},{$set: {'active': false}});
      Meteor.users.update(onlineActivity.userId,{$set: {'profile.online': false}});
    }
  });
}, 10000);
票数 3
EN

Stack Overflow用户

发布于 2015-02-20 14:19:00

这是一个老问题,但对于任何关注这一问题的人来说,现在有了一个meteor包来监控客户端到服务器的连接。它被称为流星用户状态,可以在on github.上找到

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13239761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档