¿Cómo puedo crear una conexión de socket persistente en Android?
En primer lugar, permítanme decir que no dude en recomendarme si larga vida TCP conexiones persistentes son el camino a seguir o persistentes conexiones HTTP son mejores.
También he leído previamente que en vez de tener una conexión persistente, puedo tener un mecanismo de sondeo.
- Error de compilación después de actualizar de ACRA 4.5 a ACRA 4.6
- Android Debug almacén de claves
- Fabric / Crashlytics NoClassDefFoundError sólo en ciertos dispositivos
- Generar un color aleatorio Java
- Android: Null Pointer Excepción al llamar a una nueva intención
Sólo estoy preguntando en el curioso interés de cómo puedo crear una conexión persistente de Android a un servidor?
¡Gracias!
- Cómo agregar una clase personalizada que extiende la vista a la actividad principal?
- Cómo configurar Android Studio en El Capitan (OS X 10.11)?
- ¿String timestamp a Calendario en Java?
- ¿Plataforma para desarrollar todo el google de las cosas?
- HttpUrlConnection getOutputStream lanza IOException
- Usando la etiqueta del botón, ¿puedo personalizar el botón?
- Cómo compartir la captura de pantalla de la puntuación del juego libgdx en whatsapp y facebook?
- Después de un fallo en el suministro de energía, ya no puedo compilar la aplicación
Las conexiones TCP de larga vida son una mala idea en cualquier móvil porque la red es tan irregular. Personalmente utilizo UDP o conexiones HTTP transitorias con un concepto de sesión HTTP.
Esto realmente depende de lo que sus necesidades son y si realmente necesita una conexión persistente o no.
Si tiene datos sensibles al tiempo que necesita empujar desde el servidor al dispositivo tan pronto como esté disponible, entonces una conexión TCP persistente es su mejor apuesta.
Si es aceptable que su servidor y dispositivo sólo intercambien información periódicamente, las solicitudes de sondeo o HTTP pueden ser una mejor opción.
Personalmente creo que una bien implementada conexión TCP de larga duración con un protocolo binario es la opción superior cuando se trata de conexiones persistentes donde la información debe ser siempre actual.
Las conexiones HTTP generalmente son caras en términos de sobrecarga para cada paquete, especialmente si está utilizando un protocolo basado en XML, como SOAP. Además, conectar y desgarrar los zócalos todo el tiempo es generalmente bastante costoso.
Por otro lado, las conexiones TCP persistentes pueden ser difíciles de implementar en el lado del cliente y del servidor. La vida de la batería es un factor enorme en el lado del dispositivo, y si usted está esperando algo más que un puñado de usuarios conectados a la vez, puede que tenga que implementar un modelo de comunicación asíncrono en el lado del servidor, que trae su propio conjunto de desafíos.
¡Buena suerte!