我们目前正在开发一个小型 IM 项目,该项目与 gtalk 和 yahoo messenger 类似。我们遇到了一个让我们感到困惑的问题 gtalk/ym 如何填充他们的联系人列表。假设用户拥有或多或少的 500 个联系人,两个 IM 似乎都可以非常快速地加载联系人并且已经排序。这是我的问题(指任何一个):
它是否缓存其联系人,例如在退出时将其保存在某个文件中,以便在登录时轻松提取联系人并将其显示在其联系人列表中?
它总是在登录时要求 VCARDS 吗?
或者他们有一个 VCARD 推送或任何简单地更新联系人的个人资料(如他们的状态 [出席推送 - 可用、忙碌等...])?