2011-05-18 13 views
6

Los clientes de Google GTalk (web, android, windows) tienen una gran habilidad para absorber el historial de conversaciones del servidor, aunque las conversaciones se hicieron con otro cliente jabber.¿Cómo se implementa el historial del servidor Google Talk?

  • ¿Qué funcionalidad de jabber (XMPP) (XEP) se utiliza para eso o es algo personalizado?
  • ¿Por qué ningún otro cliente XMPP (no Google) tiene esta capacidad?

P.S. Es una pregunta de programación, porque estoy preguntando sobre la funcionalidad específica de XMPP.

+1

Probablemente solo registren cada instrucción enviada a través de XMPP. Quieren saber todo de todos modos ... –

Respuesta

4

Es posible que esto se haga mediante el archivado de mensajes. Ver XEP-0136: http://xmpp.org/extensions/xep-0136.html

(Y con respecto a la otra respuesta, esto es apoyado por ejabberd: http://www.ejabberd.im/mod_archive)

+0

He intentado realizar una solicitud de lista como se describe en XEP-0136 y el servidor de Google responde con 501 - Característica no implementada. Ver también: http://stackoverflow.com/questions/12049747/google-chat-server-archive-xep-0136 –

1

Es una propiedad del servidor XMPP, no del cliente XMPP/Jabber. Toda la conversación ocurre a través del servidor XMPP. Entonces, si el servidor lo quiere, puede almacenar todo el historial. Por lo que sé, no hay ningún servidor de código abierto XMPP que pueda almacenar el historial.

Google lo tiene todo.

No estoy seguro, pero creo que no hay un XEP específico para almacenar el historial en el servidor.

1

lado del servidor XEP-0136 (archivado de mensajes) se puede hacer con ejabberd + mod_archive (variante mod_archive_odbc con back-end sql, para un mejor rendimiento) o con el servidor openfire con el complemento de archivo abierto.

Lado del cliente, para XEP-0136 Utilizo vacuum im, http://code.google.com/p/vacuum-im/, es de fuente abierta y multiplataforma.

Cuestiones relacionadas