Die websocket-Bibliothek zur Verwendung mit Node.js?
Derzeit gibt es fülle des websocket-Bibliotheken für node.js die beliebtesten zu sein scheinen:
- https://github.com/Worlize/WebSocket-Node
- https://github.com/einaros/ws
- https://github.com/LearnBoost/engine.io
- https://github.com/learnboost/socket.io
- https://github.com/sockjs
Aber ich finde keine Feste konkrete Vergleiche zwischen einem von Ihnen...
Offenbar Buchse.io war genial, aber ziemlich veraltet, und hat andernfalls baut. Beide ws und websocket-node behaupten, Sie sind die schnellsten. Und Motor.io neu scheint, aber viel schwerer als die leichteren aletarntives.
Es wäre toll, wenn wir oder jemand könnte zusammen eine Antwort, die als Leitfaden dient, auf die socket-Bibliothek zu verwenden, und wenn, wie auch ein Vergleich zwischen Ihnen.
- Wenn diese geschlossen wird, wo sollte der Frage, wie dies gehen? Als Antwort wird unglaublich nützlich sein... Scheint bedauerlich, dass so eine Prominente Frage sollte nicht hier wohnen.
- Woot woot für community-wikis, das bedeutet, dass trotz der Frage geschlossen, neue Antworten, können wir immer noch verbessern, die Gemeinschaft der wiki-Antwort weiter unten 🙂
- Ich bin damit einverstanden, ich würde gerne sehen, diese Art von Frage nicht nur erlaubt, sondern erwünscht. OK, Sie kann nicht relevant sein in einem Jahre Zeit, aber bis dahin werden Sie die Welt retten.
- können Sie aktualisieren die Gemeinschaft mit Ihrer Wahl und wenn Sie damit glücklich sind? ist es die Buchse.io?
- Ich benutze Primus mit ws in diesen Tagen, als ws ist alles, was ich brauchte, wenn ich etwas brauche noch extremer, ich habe gerade die swap-undering Bibliothek und halten Sie die gleiche api, der durch Primus. Wirkt Wunder.
- Für was es Wert ist, Buchse.IO ist solide. Wenn Sie brauchen, browser-Kompatibilität, empfehle ich es. Wenn Sie auf der Suche nach etwas reinen websocket, dann benutzen Sie etwas anderes.
- wenn Sie interessiert sind, hier ist, warum wurde es geschlossen: meta.stackoverflow.com/questions/291052/... ( glaub ich)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Immer den ball ins Rollen mit dieser community wiki Antwort. Fühlen Sie sich frei, um Bearbeiten mich mit Ihren Verbesserungen.
ws
Der WebSocket-server und-client für node.js. Einer der schnellsten Bibliotheken, wenn nicht das Schnellste.
websocket-node
Der WebSocket-server und-client für node.js
websocket-Treiber-Knoten WebSocket-server und client Protokoll-parser node.js - Sie werden in faye-websocket-node
faye-websocket-node WebSocket-server und-client für node.js - Sie werden in faye und sockjs
socket.io
Der WebSocket-server und-client für node.js + - client für Browser + (v0 hat mit den neuesten Veranstaltungen-fallbacks, v1 der Steckdose.io-engine verwendet.io) + - Kanäle im Stapel.io. Client-Bibliothek versucht, Verbindung nach Verbindungsabbruch.
sockjs
Der WebSocket-server und-client für node.js und andere + - client für Browser + neuesten zum ältesten fallbacks
faye WebSocket-server und-client für node.js und andere + - client für Browser + fallbacks + support für andere server-side-Sprachen
deepstream.io clusterable realtime server, verarbeitet die WebSockets & TCP-verbindungen und liefert Daten-sync, pub/sub und request/response -
socketcluster WebSocket-server-cluster, die macht Gebrauch von allen CPU-cores auf Ihrem Rechner. Zum Beispiel, wenn Sie auf einen xlarge Amazon EC2-Instanz mit 32 Kernen, Sie wäre in der Lage zu handhaben, fast 32-mal den Verkehr auf eine einzelne Instanz.
primus Bietet eine gemeinsame API für die meisten Bibliotheken, die oben für einfaches Umschalten + Stabilität Verbesserungen für alle von Ihnen.
Wann:
verwenden Sie das grundlegende WebSocket-Server, wenn Sie wollen, verwenden Sie die native WebSocket-Implementierungen auf der clientseitigen, hüten Sie sich vor der browser Ungleichungen
verwenden Sie das fallback-Bibliotheken, wenn Sie die Pflege über browser-fallbacks
verwenden Sie die voll funktionsfähige Bibliotheken, wenn Sie kümmern sich um Kanäle
verwenden Sie primus, wenn Sie keine Ahnung haben, über was Sie verwenden, sind nicht in der Stimmung für das erneute schreiben Ihrer Bewerbung an, Wann Sie wechseln müssen Rahmenbedingungen aufgrund der sich ändernden Anforderungen an ein Projekt oder benötigen Sie zusätzliche Stabilität der Verbindung.
Wo test:
Firecamp ist ein GUI-testing-Umgebung für SocketIO, WS und alle wichtigen real-time-Technologie. Debug die real-time-Ereignisse, die, während Sie entwickeln es.
ws
.ws
, und es scheint nicht zu funktionieren sehr gut für das streaming. Wenn er fällt hinter den Nachrichten, it-Gruppen in ein und wirkt dann, als ob es gepostet wurde mehrere Male. Sie können code schreiben, um herauszufinden, Wann es zu tun und ignorieren Nachrichten, oder etwas anderes verwenden.Update: Diese Antwort ist veraltet, da neuere Versionen von Bibliotheken erwähnt werden veröffentlicht.
npm ws war die Antwort für mich. Ich fand es weniger aufdringlich und mehr straight-forward. Mit war es auch trivial zu mischen websockets mit rest-services. Shared einfachen code, der auf diesem posten.
ws
wiews://myserver.com
. Und ja, Sie kann so konfiguriert werden, serviert mit ports 80 und 443 zu. Mit einem reverse-proxy wie nginx, können Sie die routeWebSocket
Protokoll-urls auf einen anderen port von der normalen HTTP-Protokolle.express-ws
ermöglicht das hinzufügenws
Routen in der express-app.