63 votes

Quelle est la différence entre engine.io et socket.io?

S'il vous plaît corrigez-moi si cette question est un doublon. En ce qui concerne node.js, j'utilise socket.io pour la connexion socket en temps réel de l'application client à l'application serveur. Je viens d'entendre parler de engine.io, engine.io est-il un remplacement pour socket.io? Je n'ai trouvé aucune information utile sur le site internet engine.io

Merci d'avance

117voto

Raynos Points 82706

moteur.io est d'un niveau inférieur à la bibliothèque alors prise.io

Le moteur est à Douille.IO ce Connecter consiste à Exprimer.

Si vous voulez le bas niveau d'abstraction utiliser le moteur, si vous voulez un websocket abstraction gardez à l'aide d'une douille.io.

moteur.io est de plus en plus d'intérêt pour vous si votre construction d'une bibliothèque ou un cadre sur le dessus de la prise.io

socket.io est de plus en plus d'intérêt pour vous si votre construction d'une application sur le dessus de la prise.io

22voto

kidcapital Points 1282

socket.io est construit sur engine.io.

socket.io est engine.io avec des cloches et des sifflets.

si vous n'avez pas besoin de tout ce que socket.io a (magasin Redis, groupes, etc.), utilisez simplement engine.

21voto

khoomeister Points 974

Un peu en retard pour le jeu :-), mais je vais le mentionner ici pour la postérité.

En plus d'être "bas niveau", l'une des différences les plus importantes est prise.io va commencer avec les websockets de première et de dégrader jusqu'à ce qu'il trouve un transport qui peuvent travailler. moteur.io sur l'autre main, commencez par de courtes interrogation (et de mise à niveau sur le côté jusqu'à ce qu'il frappe un mur).

Pourquoi?

Du point de vue utilisateur, l'échec d'une connexion WebSocket pouvez traduire au moins jusqu'à 10 secondes d'attente pour le temps réel de l'application pour commencer à échanger des données. Cette perspicacité mal d'expérience utilisateur.

À l'heure actuelle (2013), les websockets n'est pas répandu, et pourtant (par exemple, les navigateurs plus anciens, réseaux cellulaires, etc.) donc, il est intelligent de commencer avec le XHR 1er.

Voir https://github.com/LearnBoost/engine.io (Objectifs de la section) pour plus d'info.

8voto

Deniz Ozger Points 423

Socket.IO v0.9 est désuet et un peu buggy, et le Moteur.IO est le successeur intérimaire. Socket.IO v1.0 (qui sera publié prochainement) va utiliser le Moteur.IO et d'être beaucoup mieux que v0.9.

Dans mes tests, le Moteur.IO est apparu à faire mieux que Socket.IO v0.9, voir la comparaison: https://medium.com/node-js-javascript/b63bfca0539

Socket.IO essaie de se reconnecter pendant un certain temps après que la connexion est perdue, alors que le Moteur.IO n'est pas.

Socket.IO prend en charge les chambres alors que le Moteur.IO n'est pas. Vous devez chambres (soit par le biais de ces modules ou de votre propre mise en œuvre) si vous aurez des connexions à l'écoute des différentes données/canal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X