Quand utiliser socket.io et quand utiliser ajax

Je suis en train de programmer dans nodejs et ai examiné comment utiliser à la fois les appels socket.io et ajax vers le serveur de nœud. Est-ce que socket.io est conçu pour remplacer ajax? Je suis curieux de savoir dans quels cas il est bon d’utiliser socket.io et lesquels ajax sont plus agréables. Merci pour la consortingbution.

    Eh bien, l’un des principaux avantages des sockets Web (via socket.io) est que le serveur AJAX manque. Donc, avec ajax si vous voulez découvrir de nouveaux événements sur le serveur (un utilisateur différent vous a envoyé un message, par exemple), vous devez effectuer une interrogation du serveur, ce qui signifie que vous envoyez des demandes ajax dans une boucle périodique relativement fréquente. La plupart du temps, le serveur répond qu’il n’y a rien de nouveau, mais parfois, lorsqu’il y a quelque chose de nouveau, le client peut en apprendre davantage.

    Les sockets Web permettent au serveur de transmettre activement des notifications au client sans interrogation. Donc, si votre application contient des informations qui doivent démarrer sur le serveur et s’afficher dans le navigateur, les sockets Web constituent une meilleure solution.

    • Envoi de données au serveur dans un modèle de requête / réponse
      • sockets ajax ou web essentiellement équivalents, forme traditionnelle POSTS également OK
    • Envoi d’événements au serveur dans un modèle de stream d’événements
      • les sockets web sont les meilleurs, peuvent être émulés via ajax un peu
    • Transférer des événements d’un serveur à un navigateur
      • Les sockets Web sont les meilleurs, ils peuvent être émulés via ajax long polling, flash, etc. (socket.io a plusieurs solutions de rechange qu’il peut essayer d’utiliser si de véritables sockets Web ne sont pas disponibles).
    • navigateurs plus anciens, certaines plates-formes mobiles
      • le support de socket web n’est pas là, alors ajax est votre solution de secours