Maison > interface Web > js tutoriel > Introduction au didacticiel d'apprentissage socket.io dans node.js (1)

Introduction au didacticiel d'apprentissage socket.io dans node.js (1)

零下一度
Libérer: 2017-05-03 10:02:40
original
1543 Les gens l'ont consulté

Socket.io fournit une communication bidirectionnelle en temps réel basée sur des événements, de sorte que l'article suivant présente principalement des informations pertinentes sur socket.io, et présente principalement les connaissances de base de l'apprentissage de socket.io. Les amis qui en ont besoin peuvent s'y référer. Jetons un coup d'oeil ensemble.

Avant-propos

La transmission de données en temps réel entre le Web et le serveur est une exigence très importante, mais au plus tôt ne peut se faire que via la mise en œuvre du sondage AJAX. Avant l'introduction du standard WebSocket, l'interrogation AJAX était la seule méthode réalisable (elle était également possible via le navigateur Flash, mais nous n'en discuterons pas ici). Le principe du sondage AJAX est de définir une minuterie pour synchroniser les données du serveur via AJAX à intervalles réguliers. Cette méthode implique des retards et impose une lourde charge au serveur. Ce n'est qu'en 2011 que l'IETF a standardisé WebSocket, un protocole d'envoi et de réception de données basé sur des sockets TCP. De nos jours, tous les principaux navigateurs prennent en charge WebSocket.

socket.io sépare la partie transmission de données pour former engine.io Engine.io encapsule les sondages WebSocket et AJAX pour former un ensemble d'API et protège les détails. différences et problèmes de compatibilité, et réalise des données bidirectionnelles entre navigateurs et appareils.

socket.io n'est pas nécessaire pour engine.io Vous pouvez également implémenter votre propre moteur.io en server.bindliant

application.

  • Affichage de l'analyse des données en temps réel (rapports, journaux)

  • Messagerie instantanée, chat,

  • Transmission de flux binaire (image, musique, vidéo)

  • Édition collaborative multi-personnes

  • Push de message instantané

Technologies similaires

  • Sondage AJAX : Sondage AJAX basé sur XMLHttpRequest

  • Interrogation longue AJAX : Semblable à l'interrogation, le serveur ne renvoie pas de réponse après que le client l'a demandé jusqu'à ce que des données doivent être transmises au client. Une fois les données transmises, le client lance une nouvelle demande. L'inconvénient est que des en-têtes HTTP supplémentaires doivent être transmis, et cela nécessite également un travail supplémentaire pour empêcher la demande de répondre.

  • Flux HTTP : Semblable à l'interrogation longue AJAX, la réponse du serveur apportera l'en-tête HTTP : Transfer-Encoding: chunked Après avoir renvoyé les données au client, le client n'a pas besoin d'initier un. nouvelle demande, l'inconvénient est que les données entre chaque morceau sont difficiles à identifier et à traiter.

  • Plug-ins : similaires à Flash et Silverlight, car les plug-ins sont de plus en plus rejetés par les navigateurs et les utilisateurs grand public

Le Voici différents angles Analyser chaque technologie

  • Unidirectionnel/bidirectionnel

  • Unidirectionnel : sondage AJAX, sondage long AJAX, HTTP streaming

  • Bidirectionnel : WebSocket, Plug-in

  • Délai

WebSocket

Plug-in>

1. Le terminal mobile prend en charge

WebSocket : prend essentiellement en charge le

Le flux HTTP, l'interrogation longue AJAX, l'interrogation AJAX : prend essentiellement en charge

Plug-in : fondamentalement non pris en charge

1. Facilité de développement ou de configuration

WebSocket < 🎜>

Résumé

socket.io encapsule WebSocket Si WebSocket n'est pas pris en charge, il fournit également une interrogation AJAX dégradée, qui est entièrement fonctionnelle, avec élégance. conçu, est le meilleur moyen de développer une communication bidirectionnelle en temps réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal