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:
- XMPP: Asmack Connection PacketListener problema ...
- ¿Cómo podemos acceder a los mensajes del archivo en la aplicación android desde el servidor xmpp
- La clase StickersManager no se encuentra para Quickblox
- IN XMPP obtener la excepción no autorizada (401), mientras que la presentación del formulario
- Incorporación del protocolo XMPP a una aplicación de Android
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!
- ¿No puede obtener la lista de salas públicas de xmpp Server en Android?
- Smack mensaje oyente no llamado y conexión inestable
- Utilizar XMPP para enviar notificaciones de usuario en Android: cualquier forma de orientarlas para que no vayan a Google Talk, etc.
- Smack Packet Listener no se ejecuta
- Enviar mensaje desde el complemento del navegador web a android y la aplicación IOS usando XMPP
- Smack 4.1 No hay respuesta dentro del tiempo de espera de respuesta
- No se puede iniciar sesión en el servidor ejabberd mediante el cliente XMPP en Android
- No se puede conectar el cliente de Android con el servidor XMPP local
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
- Android Problema: EditText, KeyListener y el botón físico anterior
- NullPointerException en WebView (WebView.requestFocus ())