Cómo realizar una conexión larga entre Android y el servidor
Prólogo: La mayoría de las aplicaciones móviles actuales tienen la capacidad de obtener mensajes en tiempo real. En pocas palabras, tienen la iniciativa de enviar mensajes y el derecho pasivo de recibir mensajes. Por ejemplo: WeChat, QQ, pronóstico del tiempo, etc. Creo que todos conocen los beneficios y la experiencia del usuario.
Haga una pregunta: esta función debe involucrar al cliente y al servidor, entonces, ¿cómo logra el cliente una comunicación de conexión en tiempo real con el servidor?
Análisis del problema: Esta función es en realidad sincronización de datos. Al mismo tiempo, se deben considerar factores limitantes como el propio teléfono móvil, la energía de la batería, el tráfico de la red, etc., por lo que suelen ser dos. soluciones en el terminal móvil:
1. Una es consultar periódicamente los datos del servidor, generalmente utilizando el protocolo HTTP para acceder al servidor web, que se llama sondeo
2. La otra es establecer una conexión entre el terminal móvil y el servidor. La conexión larga utiliza una conexión larga XMPP y se llama Push.
Push tiene ventajas obvias en términos de consumo de energía, tráfico y latencia de datos. Sin embargo, las desventajas de usar Push son:
Para el cliente: los costos de implementación y mantenimiento son relativamente altos, y mantener conexiones largas bajo redes inalámbricas móviles es relativamente difícil de desarrollar técnicamente.
Para servidores: todavía existen dificultades de desarrollo sobre cómo implementar la concurrencia de múltiples núcleos, la programación de trabajos de CPU y el mantenimiento concurrente de una gran cantidad de conexiones largas. Reimpreso sólo como referencia.