Integración de socket en Kotlin. ¿Alguna vez te has preguntado cómo las aplicaciones populares como …… por Jhavidit Octubre de 2020

¿Alguna vez ha pensado en cómo funcionan las aplicaciones populares como Cricbuzz, Whatsapp, Trello, Google Docs, o ha considerado crear una aplicación que recupere datos automáticos en vivo, como una aplicación de chat, juego multijugador, cuestionario en vivo, etc.? Entonces Socket.IO es la respuesta para ti. En este artículo, ilustre cómo puede implementar Socket.IO en su aplicación de Android.

Socket.IO es una biblioteca que permite la comunicación bidireccional basada en eventos en tiempo real entre el cliente y el servidor.

Socket.IO está construido sobre WebSockets YPI (lado del cliente) y NodeJs. Sin embargo, esta no es una implementación de web sockets. Utilizado solo para transporte. Aquí, los servidores y los clientes pueden enviar y escuchar sus llamadas. El servidor también puede desencadenar un evento en una ruta específica que es escuchado por sus suscriptores, lo que significa que el cliente ha colocado a su oyente en eventos específicos.

Kotlin no tiene su documentación oficial para Socket.IO, por lo que estudiaremos su funcionamiento desde la documentación de Java y lo traduciremos a Kotlin, porque ambos lenguajes son interoperables.

Hay dos métodos que puede utilizar para implementar Socket.IO en su aplicación nativa de Android.

  1. Socket.IO Android-Java
  2. Naoyuki Kanezawa Android Socket.IO

La biblioteca proporcionada por Naoyuki Kanezawa también lanzó su propia Blog para Socket.IO usando Java en Android. Le recomendaría utilizar esta biblioteca porque es fácil de implementar, proporciona detección de sockets (conectar, desconectar, reconectar), función de reconexión automática y también se promociona en la documentación oficial de Socket.IO

Ahora vamos a la parte de codificación y en unos pocos pasos más puedes configurar la conexión socket.io. ✌️

• Primero, agregue una dependencia de nivel de aplicación al archivo build.gradle.

• Asegúrese de agregar permisos de Internet al archivo de manifiesto. 😅

• Cree una clase Kotlin para la inicialización del socket que se pueda usar en cualquier parte del proyecto. aquí Toma IO () método devuelve socket para https://yourSocketURL.com con opciones predeterminadas. Tenga en cuenta el método mSocket almacena en caché el resultado para que siempre pueda obtener el mismo Enchufe una instancia de una URL de cualquier actividad o fragmento.

• Asegúrese de agregar el nombre de la clase de la aplicación de inicialización del socket al archivo de manifiesto. 😅

• Ahora cree un objeto de la clase Socket Instance que creamos anteriormente y conecte el socket usando .conectar() método. Usaremos IO.options () método para que el enchufe se vuelva a conectar, si es que lo hace. Se desconecta debido a un problema de red.

• Compruebe si el enchufe está conectado o no, podemos utilizar .conectado () método.

• Para recibir datos instantáneos en tiempo real debemos utilizar en() método. Los datos se pueden obtener en un bloque de datos JSON o en cualquier otro formato de datos. Para mostrar cualquier cosa en la pantalla, toda la lógica de enlace de la interfaz de usuario debe codificarse en la parte del subproceso de la interfaz de usuario, porque el socket se ejecuta en un subproceso en segundo plano.

• Compruebe si el enchufe está desconectado o vuelto a conectar.

• Para enviar datos al servidor en forma de un bloque de datos JSON o cualquier otro formulario de datos, debemos utilizar transmitir () método.

Si va a recibir datos basados ​​en lo que está enviando al servidor, primero debe comenzar a escuchar el evento usando en() método y luego transmitir tu información.

• Y por último, pero no menos importante, no olvide cerrar la conexión del enchufe con .desconectar() método y eliminar oyentes usando .apagado () cuando termines. 😇

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *