Como parte de una aplicación de Android que estoy desarrollando, hay una función de sala de chat. Tenemos un servidor que puede procesar los mensajes entrantes y almacenar los mensajes. ¿Es mejor mantener abierta una conexión de socket entre el teléfono y el servidor para que el servidor pueda enviar mensajes nuevos al teléfono, o es mejor que el teléfono busque nuevos mensajes de chat en el servidor?Android - Sockets vs Polling
Respuesta
El sondeo carece de conexión en tiempo real y una conexión persistente consume batería. Creo que lo que estás buscando es una combinación de conexión "push" y persistente. Despertaría su teléfono mediante push y luego establecería una conexión a través de sockets para manejar el chat.
Sugiero leer el artículo this. No estoy seguro de si menciona c2dm, el servicio de inserción de Google.
Es una mala solución con encuesta para la aplicación que tienen datos de publicación aleatoria. Lo que quiero decir es que los datos de sondeo son útiles cuando tienes algo que está sucediendo discretamente, como cada 5 minutos o algo así. este no es el caso con el chat, algunos usuarios pueden publicar algo queridos en una hora, algunos pueden enviar 30 veces en 2 minutos
a fin de mantener sus tomas abiertas
me quedo con el socket abierto si usted está preocupado acerca de mensajería instantánea, lleva tiempo configurar la conexión de socket, especialmente si está utilizando la conexión GSM. He visto que toma 10 segundos o más abrir un socket en 3G, y mucho menos si está conectado a WiFi.
- 1. Long-polling vs Apple Push Notification Service & Android C2DM
- 2. Sockets Php vs Streams
- 3. C# Sockets vs Pipes
- 4. socket.io - XHR polling vs flashsocket y websocket
- 5. AJAX Polling vs. WebSockets Mobile Performance
- 6. Sockets de dominio PostgreSQL UNIX vs sockets TCP
- 7. Raw Sockets en Android
- 8. Ajax polling
- 9. Push vs polling con servicio web en iPhone
- 10. Sincronización vs. Async Sockets Performance en .NET
- 11. Rails: Long Polling Practices
- 12. ¿Cómo usar sockets UDP en android?
- 13. Servicio web vs sockets TCP/IP (Java) + SQL Connections
- 14. Sockets vs named pipes para IPC local en Windows?
- 15. Sockets RDM
- 16. Python + sockets
- 17. manera correcta de usar sockets en la aplicación de Android
- 18. Android: Transmisión de audio a través de sockets TCP
- 19. ¿Cómo habilitar un certificado autofirmado para sockets SSL en Android?
- 20. Long Polling con PHP en Apache
- 21. Long Polling - Problemas con Internet Explorer 8
- 22. jQuery Long Polling (con servidor PHP)
- 23. Socket.IO: Retraso XHR-Polling en la desconexión
- 24. ¿Usa sockets SSL y sockets no SSL simultáneamente en Boost.Asio?
- 25. J2ME VS Android VS iPhone VS Symbian VS Windows CE
- 26. leyendo parcialmente de sockets
- 27. sockets: BufferedReader readLine (bloques)
- 28. Qt Sockets and Endianness
- 29. Probando Java Sockets
- 30. C# Asynchronous Sockets questions
¿Puede calificar su afirmación "La conexión persistente consume batería?" – AgileYogi
"La conexión persistente consume batería" porque mantener una conexión abierta significa que necesitará un uso constante de los recursos. – kuchi