servidor mac library descargar ios sockets xmpp openfire xmppframework

ios - mac - xmpp client swift



XMPP iOS Framework detecta problemas de desconexión de Internet con el servidor OpenFire (1)

Es la característica principal de xmpp y Openfire debe enviarla unavailable a tus contactos en tu nombre. Entonces parece un error. Pero existe un problema diferente: los usuarios con Internet móvil pueden volver a conectarse con demasiada frecuencia, y la comunidad XMPP desarrolló una extensión Stream Management , que permite al servidor "hibernar" la sesión del cliente cuando se vuelve a conectar y restaurar rápidamente sin cambios de presencia. Resumir:

  1. Verifique si Stream Management está activo; en este caso, el usuario seguirá en línea una cantidad de tiempo fija (normalmente 5 minutos) y luego se desconectará.
  2. Compruebe si Openfire implementa alguna extensión no estándar para mantener la sesión del usuario.
  3. Si está seguro de que ninguna de las extensiones está "hibernando" la sesión del usuario, entonces es realmente un error. Prueba lo mismo con diferentes servidores xmpp: los buenos candidatos son ejabberd y prosodia

Implementé la aplicación de chat utilizando XMPP iOS Framework con el servidor OpenFire.

Afortunadamente, la aplicación se está ejecutando con éxito, pero estoy enfrentando un problema de desconexión de Internet en la aplicación.

Cuando el usuario está desconectando o entrando en modo fuera de línea manualmente, envía una estrofa a sus listas. Entonces, sus listas saben que el usuario entró en modo fuera de línea.

Ahora cuando Internet se desconectará del dispositivo del usuario en ese momento, la aplicación no podrá enviar la stanza de presencia al servidor debido a la desconexión de Internet. Por lo tanto, sus listas no obtendrán información sobre ese usuario fuera de línea y el usuario solo se mostrará en modo en línea.

Pensé que algo así como el servidor OpenFire podría comprobar los usuarios conectados y cada vez que un usuario se desconectase debería enviar stanza de presencia con estado fuera de línea a sus listas para que sepan que este usuario está en modo fuera de línea.

¿Alguien puede ayudarme si hay alguna manera de implementar esta característica?

Será muy útil para mí resolver este problema.

Gracias por adelantado.