搜索了一些资料, 感觉应该可以做。
推送服务用nodejs+socket.io
做, 记录在线用户和离线消息交给redis
。
一对一, 客户 A
给客户 B
推消息。 客户 B
不在线。 记录到redis
中。 并且做持久化防止丢失。
但是一对多, 有点懵。 客户 A
给广播给所有人。 在线的兄弟直接转发,
不在线的兄弟们, 我怎么知道有那些。 并且给他们记录离线消息
呢?
必须完整的把当前
所有用户的 uid 查出来, 预存到redis
。 在线用户发了出栈。 剩余全部存离线消息?
或者一开始查询出所有用户 uid, 存起来, 在线的用户修改状态, 非在线的存离线消息。 如何做到和数据库里的成员
表同步呢? 毕竟每分钟都可能发生注册。
这两天对这类东西很感兴趣, 想试着做一个。 想不通, 请各位大佬解答。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.