Estoy escribiendo un servidor para un juego de iOS. El juego se basa en turnos y la única vez que el servidor necesita enviar información al cliente es para notificar el movimiento del oponente.
Tengo curiosidad por saber si alguien podría comentar sobre el rendimiento y la facilidad de implementación de las diferencias entre el uso de websockets y el sondeo largo. Además, si utilicé websockets, ¿debería usarlo solo para recibir información y enviar solicitudes POST para todo lo demás o toda la comunicación debería realizarse a través de websocket?
Además, ¿hay algo adicional a considerar entre websockets y encuestas largas si estoy interesado en hacer también un cliente web?
Respuestas:
Una variación de la técnica de sondeo tradicional y permite la emulación de un envío de información desde un servidor a un cliente. Con un sondeo largo, el cliente solicita información del servidor de forma similar a un sondeo normal.
Una vez que la información está disponible (o después de un tiempo de espera adecuado), se envía una respuesta completa al cliente. El cliente normalmente volverá a solicitar información inmediatamente al servidor, de modo que el servidor casi siempre tendrá una solicitud en espera disponible que puede utilizar para entregar datos en respuesta a un evento.
En un contexto web / AJAX, el sondeo largo también se conoce como programación Comet.
WebSockets proporciona una conexión persistente entre un cliente y un servidor que ambas partes pueden usar para comenzar a enviar datos en cualquier momento.
Conclusión :
Si necesita comunicación en tiempo real, puede optar por websockets.
Pero en Long Polling:
Se mantiene abierta una conexión entre el cliente web y el servidor web para que cuando el servidor tenga nueva información pueda enviarla al cliente. Entonces se termina esa solicitud. Luego, se realiza una nueva solicitud entre el cliente y el servidor y luego se espera otra actualización del servidor. La misma conexión TCP generalmente está abierta de manera persistente a través de múltiples solicitudes debido a HTTP / 1.1 Keep-Alives.
Referencias y otras consideraciones:
Sondeo largo de PubNub vs sockets: duración de la batería del móvil
¿Qué son Long-Polling, Websockets, Server-Sent Events (SSE) y Comet?
sondeo largo en objetivo-C
Introducción a Websocket
Websocket Vs sondeo largo
Usar Websockets en aplicaciones
Aplicación Websocket
Sondeo largo de PushTechnology
fuente