Ich möchte wissen, ob ich aufhören kann, das http zu verwenden, aber nur den Websocket verwenden?
Nein, nicht 100%. Weil Sie mindestens einen Websocket-Handshake über HTTP durchführen müssen. Wenn Sie Web-Entwicklung (d. H. Browser-Entwicklung) machen, müssen Sie auch eine HTML/JavaScript-Datei (en) für die Hauptseite bereitstellen. Anders als dass es vollständig möglich ist, zu den Webschächten vollständig zu wechseln.
Was sind die Vor- und Nachteile dieser Lösung?
Vorteile
- Echt Server-Push (Sie leicht Kunden benachrichtigen können)
- Mit einem geeigneten Protokoll, das auf (zB JSON-RPC) ist äußerst effizient im Vergleich zu HTTP
Nachteile
- Es ist ziemlich viel TCP, also müssen Sie noch ein benutzerdefiniertes Protokoll darüber aufbauen. Dies könnte tatsächlich schwierig zu implementieren sein. Vor allem, wenn Sie Textinhalt (z. B. JSON) mit Binärinhalt (z. B. Bilder) mischen möchten. Es kann sich herausstellen, dass Sie HTTP über Websockets neu implementieren werden.
- könnte schwierig sein, gut zu skalieren (wieder auf dem oberen Protokoll abhängig)
- Poorly im Vergleich zu verstehen HTTP
- noch recht neu, nicht so viele Werkzeuge wie für HTTP
So wie Sie können Die meisten Sorgen kommen von Tatsachen, dass es neu ist und Sie viel manuelle Arbeit damit machen müssen. Davon abgesehen ist es meine persönliche Meinung, darauf einzugehen. Wenn du es nicht machst, wer dann? :) Mindestens API über Websockets und statische Dateien über HTTP bereitstellen.