¿Qué es el sondeo largo?
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.
- Si el servidor no tiene ninguna información disponible para el cliente, en lugar de enviar una respuesta vacía, el servidor retiene la solicitud y espera que haya alguna información disponible.
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.
¿Qué pasa con Websockets?
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.
- El cliente establece una conexión WebSocket mediante un proceso conocido como protocolo de enlace WebSocket. Este proceso comienza con el cliente enviando una solicitud HTTP regular al servidor.
- Se incluye un encabezado de actualización en esta solicitud que informa al servidor que el cliente desea establecer una conexión WebSocket.
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