Skip to content

Latest commit

 

History

History
23 lines (12 loc) · 1011 Bytes

2009_07_02_friends_notification.md

File metadata and controls

23 lines (12 loc) · 1011 Bytes

[game-dev] 好友上/下线通知

好友系统 (单向关系)

允许:A 加 B 为好友,B 在 A 的 friend list 中;而 A 并不在 B 的 friend list 中。

B 上/下线,要求 A 要收到通知,如何做到呢?B 上线时,从 B 身上的数据,并不知道其在 A 的 friend list 中。

方法1

因为单服同时在线人数不多,一般就 4~8k,所以可以做一个当前在线玩家的好友列表 cache。任何一个玩家上/下线,则修改此 cache。

B => (A, C, ...) 表示,B 在 A, C, ... 等这些玩家的好友列表中。

B 上/下线,就可以通过此 cache 来做通知的事情。

此法比较灵活,可以做到“你的好友XXX上/下线”这样的通知。

方法2

不做“你的好友XXX上/下线”这样的通知,只是每次打开“好友栏”,可以看到在线的好友都是“亮”的。

这样可以在每次打开“好友栏”时,向服务器发起请求,更新一下自己所有好友的在线信息即可。