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:
- No se puede crear una sala de chat multiusuario (MUC) con la biblioteca aSmack para Android: "packet.DefaultPacketExtension no se puede convertir en paquete.MUCUser"
- No se puede conectar el cliente de Android con el servidor XMPP local
- GCM XMPP CCS vs MQTT
- ¿Cómo implementar el estado de lectura de mensajes como whatsapp blue tick mark?
- XMPP con Java Asmack biblioteca que admite X-FACEBOOK-PLATFORM
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!
- ¿Cómo enviar un mensaje XMPP cuando el remitente está fuera de línea?
- Cuestión en el registro con la biblioteca asmack y abrir fuego como servidor
- Mensajes perdidos sobre XMPP en el dispositivo desconectado
- Utilizar XMPP para enviar notificaciones de usuario en Android: cualquier forma de orientarlas para que no vayan a Google Talk, etc.
- ¿Cómo agregar campos personalizados en elementos <message> de XMPP stanza / packet?
- Android xmpp cliente xabber
- Cómo saber Escribir Estado en XMPP openfire usando Smack
- (A) IQ.toXml () de Smack devuelve XML sin elementos secundarios personalizados
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 ())