谷歌聊天服务器如何实现历史记录拉取?

6

谷歌GTalk客户端(Web、Android、Windows)具有从服务器提取对话历史记录的强大功能,即使对话是在另一个Jabber客户端上完成的。

  • 这使用了什么Jabber(XMPP)功能(XEP),还是一些自定义的东西?
  • 为什么其他XMPP客户端(非谷歌)没有这个功能?

P.S. 这是一个编程问题,因为我正在询问特定的XMPP功能。


1
他们可能只是记录通过XMPP发送的每个语句。无论如何,他们想知道一切... - Glen Solsberry
3个回答

4

我已经尝试按照XEP-0136中描述的方式执行列表请求,但Google服务器返回501-未实现的功能。另请参阅:https://dev59.com/_2ct5IYBdhLWcg3wgNcy - Mike Mueller

1

这是 XMPP 服务器的属性,而不是 XMPP / Jabber 客户端的属性。所有对话都经由 XMPP 服务器进行。因此,如果服务器希望,它可以存储所有历史记录。据我所知,没有任何开源 XMPP 服务器可以存储历史记录。

谷歌拥有这一切。

我不确定,但我认为没有特定的 XEP 可以在服务器上存储历史记录。


1

服务器端 XEP-0136(消息存档)可以使用 ejabberd + mod_archive(使用 SQL 后端的 mod_archive_odbc 变体,以获得更好的性能),或者使用带有开放式存档插件的 openfire 服务器。

客户端方面,对于 XEP-0136,我使用 vacuum im http://code.google.com/p/vacuum-im/,它是开源且跨平台的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接