Cómo usar el sondeo largo de PHP con Swift para iOS

¿Qué es HTTP Long Polling? El | PubNub

En pocas palabras: Sondeo largo HTTP

Para superar esta deficiencia, los desarrolladores de aplicaciones web pueden implementar una técnica llamada sondeo largo HTTP, donde el cliente sondea al servidor solicitando nueva información. El servidor mantiene la solicitud abierta hasta que haya nuevos datos disponibles. Una vez disponible, el servidor responde y envía la nueva información. Cuando el cliente recibe la nueva información, inmediatamente envía otra solicitud y la operación se repite.

Esencialmente, una aplicación de iOS enviaría un token o algún tipo de identificador único a un servidor que permitiría al servidor localizar el dispositivo. Por lo general, cuando las solicitudes HTTP se envían desde un cliente a un servidor, un script o código genera una respuesta dependiendo de los parámetros de la solicitud y otros factores de identificación de la solicitud (es decir, getnotifications.php, login.php, etc.). Con la naturaleza limitada de los dispositivos móviles, así como la reflexividad general para PC, se envía una solicitud HTTP, pero en lugar de responder, el servidor asignará algún tipo de CPU / subproceso para esperar que algo active la respuesta (es decir, notificaciones de Facebook HTTP, si no tiene notificaciones de acuerdo con el servidor, siga esperando. De lo contrario, devuelva la solicitud HTTP retenida con las nuevas notificaciones. Una vez que el cliente recibe las notificaciones, el cliente envía otra solicitud de sondeo HTTP larga para que el servidor la retenga).

Dado que los servidores son generalmente dispositivos estáticos almacenados en un espacio dedicado, que generalmente se ejecutan constantemente con administradores y soporte, el costo de CPU / mem necesario para un sondeo largo puede ser mayor que la conveniencia para el usuario, ya que los servidores son algo ilimitados en energía y memoria en relación con un dispositivo móvil dispositivo. Como tal, una aplicación Swift para iOS puede sondear durante mucho tiempo iniciando una solicitud get / post / http a un servidor con el código php implementado, que tiene el script que guardará la solicitud http y no responderá a menos que otro usuario envíe un mensaje a El primer usuario. Luego, el servidor no solo haría las acciones habituales predeterminadas de la base de datos necesarias para almacenar el mensaje, sino que también tomaría la solicitud http almacenada y finalmente respondería.