Qu'est-ce que le sondage long?
Une variante de la technique d'interrogation traditionnelle et permet l'émulation d'une information push d'un serveur vers un client. Avec une longue interrogation, le client demande des informations au serveur de la même manière qu'une interrogation normale.
- Si le serveur ne dispose d'aucune information disponible pour le client, au lieu d'envoyer une réponse vide, le serveur conserve la demande et attend que certaines informations soient disponibles.
Une fois que les informations sont disponibles (ou après un délai d'attente approprié), une réponse complète est envoyée au client. Le client demandera normalement alors immédiatement des informations au serveur, de sorte que le serveur aura presque toujours une demande d'attente disponible qu'il peut utiliser pour fournir des données en réponse à un événement.
Dans un contexte web / AJAX, l'interrogation longue est également connue sous le nom de programmation Comet.
Qu'en est-il des Websockets?
Les WebSockets fournissent une connexion permanente entre un client et un serveur que les deux parties peuvent utiliser pour commencer à envoyer des données à tout moment.
- Le client établit une connexion WebSocket via un processus connu sous le nom de négociation WebSocket. Ce processus commence par l'envoi par le client d'une requête HTTP régulière au serveur.
- Un en-tête de mise à niveau est inclus dans cette demande qui informe le serveur que le client souhaite établir une connexion WebSocket.
Conclusion :
S'il y a un besoin de communication en temps réel, vous pouvez très bien opter pour les websockets.
Mais dans un sondage long:
Une connexion est maintenue ouverte entre le client Web et le serveur Web afin que, lorsque le serveur dispose de nouvelles informations, il puisse les transmettre au client. Cette demande est alors terminée. Une nouvelle demande est alors faite entre le client et le serveur puis attend une autre mise à jour du serveur. La même connexion TCP est généralement ouverte de manière persistante à travers plusieurs requêtes en raison des keep-alives HTTP / 1.1.
Références et autres considérations:
PubNub Long Polling vs Sockets - Autonomie de la batterie mobile
Que sont l'interrogation longue, les Websockets, les événements envoyés par le serveur (SSE) et la comète?
longue interrogation en objectif-C
Présentation de Websocket
Interrogation longue de Websocket Vs
Utilisation de Websockets dans les applications
Application Websocket
Interrogation longue durée de la technologie Push