谷歌GTalk客户端(Web、Android、Windows)具有从服务器提取对话历史记录的强大功能,即使对话是在另一个Jabber客户端上完成的。
- 这使用了什么Jabber(XMPP)功能(XEP),还是一些自定义的东西?
- 为什么其他XMPP客户端(非谷歌)没有这个功能?
P.S. 这是一个编程问题,因为我正在询问特定的XMPP功能。
谷歌GTalk客户端(Web、Android、Windows)具有从服务器提取对话历史记录的强大功能,即使对话是在另一个Jabber客户端上完成的。
P.S. 这是一个编程问题,因为我正在询问特定的XMPP功能。
这是 XMPP 服务器的属性,而不是 XMPP / Jabber 客户端的属性。所有对话都经由 XMPP 服务器进行。因此,如果服务器希望,它可以存储所有历史记录。据我所知,没有任何开源 XMPP 服务器可以存储历史记录。
谷歌拥有这一切。
我不确定,但我认为没有特定的 XEP 可以在服务器上存储历史记录。
服务器端 XEP-0136(消息存档)可以使用 ejabberd + mod_archive(使用 SQL 后端的 mod_archive_odbc 变体,以获得更好的性能),或者使用带有开放式存档插件的 openfire 服务器。
客户端方面,对于 XEP-0136,我使用 vacuum im http://code.google.com/p/vacuum-im/,它是开源且跨平台的。