XMPP aSmack El servidor MultiUserChat sigue enviando mensajes ya recibidos

Soy un nuevo usuario en la pila, pero tengo un problema con MultiUserChat en aSmack biblioteca 3.2.1 para android. Estoy utilizando el servidor "gtalk.google.com". Es un ejemplo simple y yo soy sólo uno en la habitación:

String room="[email protected]"; MultiUserChat muc = new MultiUserChat(connection,room); muc.join(userNameInRoom); muc.addMessageListener(new PacketListener() { @Override public void processPacket(Packet packet) { ... } }); 

Después:

  muc.sendMessage("Text message"); 

En Log:

 DEBUG/SMACK(281): 06:46:29 PM SENT (1140866576): <message id="gsMe7-18" to="[email protected]" type="groupchat"><body>Text message </body></message> DEBUG/SMACK(281): 06:46:29 PM RCV (1140866576): <message from="[email protected]/userNameInRoom" to="userName" type="groupchat"><body>Text message</body></message> 

Resultado: "Mensaje de texto" y es correcto, pero luego:

Recibí de nuevo "mensaje de texto" con presences:

 DEBUG/SMACK(281): 06:54:12 PM RCV (1140866576): <presence from="[email protected]/userNameInRoom" to="userName"><x xmlns= "vcard-temp:x:update"><photo/></x><x xmlns="http://jabber.org/protocol/muc#user"> <item affiliation="owner" role="moderator"/><status code="110"/></x></presence> DEBUG/SMACK(281): 06:54:12 PM RCV (1140866576): <message from="[email protected]/userNameInRoom" to="userName" type="groupchat"><body>Text message</body><delay stamp="2012-02-15T17:46:31Z" from="[email protected]" xmlns="urn:xmpp:delay"/><x stamp="20120215T17:46:31" from="[email protected]" xmlns="jabber:x:delay"/></message> 

Y me dieron una y otra vez cada vez que servidor enviar presencias a mí. Continúa infinitamente con un intervalo de ~ 5 minutos. Y sí en 30 minutos recibí ~ 6 mensajes "Mensaje de texto". Si envío más de 1 mensaje, todos estos mensajes se recibirían sin excepciones cuando la presencia me envíe.

¿Qué problema con mi MultiUserChat y qué entrega retrasada hacer aquí?

¡Gracias por la atención!

En caso de "@ conference.jabber.org" no encontré solución y decidí que el problema debido al servidor GTalk y la versión correcta de MultiUserChat es en caso de "@ groupchat.google.com".

He cambiado mi código de:

 room=roomName+"@conference.jabber.org"; MultiUserChat muc = new MultiUserChat(connection, room); muc.create(userName); muc.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); 

a:

 room="private-chat-" + UUID.randomUUID().toString() + "@groupchat.google.com"; MultiUserChat muc = new MultiUserChat(connection, room); muc.join(userName); muc.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); 

Y lo probé, pero tengo un nuevo problema: cuando el usuario recieve invita al mensaje y lo acepto, ambos clientes chocan con XmlPullException "END_TAG expected" y algo así como "</ stream: stream>" en última posición en logcat.

Comencé a google este problema y encontré la razón. He utilizado asmack de beem cliente (por cierto, antes de que asmack-7 utilizado asmack desarrollador) y cómo sé que se basa en smack 3.1 … He encontrado que smack 3.2.0 decidió este problema. Descargé la versión del flujo de asmack y estoy satisfecho con esto.

En conclusión quiero decir "Gracias !!!" Flow para la versión correcta de aSmack, que funciona mejor que otros.

Que no es debido a su cliente, y thats no es un error, Thats Debido a Configuración de su grupo GroupChat del historial configurado para enviar determinado número de historial de chat al entrar en la habitación

  • La clase StickersManager no se encuentra para Quickblox
  • Vida de la batería de Android XMPP
  • Biblioteca de Android xmpp
  • Android y XMPP: Soluciones disponibles actualmente
  • Integraciones de la API de Google Talk con la aplicación de Android
  • Android - Smack presencia y "está escribiendo" características que no funcionan
  • Enviar / Recibir solicitud de amigo Uso del servidor XMPP en Android
  • ¿Cómo puedo agregar un atributo personalizado (nick) en mi etiqueta de mensaje XMPP, en Smack 4.1
  • Inhibición de inicio de sesión La autenticación SASL falló al utilizar el mecanismo DIGEST-MD5 asmack en android
  • Eventos XMPP en Android
  • Cómo obtener el valor de atributo personalizado de un mensaje XMPP XML?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.