WebSockets vs XHR für große Datenmengen
Ich bin mit SocketIO auf NodeJS und ich don ' T Pflege viel über die breiten Browser-Unterstützung, wie es mein Haustier-Projekt, wo ich will, um alle macht der neuen Technologien zu erleichtern, die Entwicklung. Meine Sorge ist, über wie soll ich das senden von großen Mengen von JSON-Daten vom server zum client und wieder zurück. Auch diese Beträge sind nicht so groß, als könnte Sie für video-oder Bild-Binär-Daten, ich nehme an, nicht größer als Hunderte von Kilobyte pro Anfrage.
Zwei Szenarien, die ich sehe sind:
- Senden eine Benachrichtigung per WebSockets vom server zum client, dass einige Daten geholt werden sollen. Dann der client-code führt eine regelmäßige XHR-Anfrage an den server und bekommt Daten per XHR.
- Senden der ganzen Daten über WebSockets vom server zum client. In diesem Fall habe ich nicht brauchen, um ausführen alle zusätzlichen Anfragen bekomme ich nur alle Daten über WebSockets.
Sah ich erste Fall, in Meteor.js so fragte ich mich, die Gründe.
Bitte teilen Sie uns Ihre Meinung.
- vielleicht hilft stackoverflow.com/questions/13010354/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Websockets unterstützen sollte, die große Datenmengen (bis zu 16 exabyte in Theorie), so dass aus dieser Sicht es sollte funktionieren. Der Vorteil von XHR ist, dass Sie in der Lage zu beobachten, die Fortschritte im Laufe der Zeit und in der Regel besser getestet für große Daten-Blöcke. Zum Beispiel habe ich gesehen, dass der websocket-server-Implementierungen, die (denken retrospektiv) würde nicht mit großen Daten gut, denn Sie würde das laden der gesamten Daten in den Speicher (und nicht als streaming-Daten), aber das ist natürlich nicht unbedingt der Fall für die Steckdose.io (weiß nicht). Point in case: probieren Sie es aus mit sockel.io-unter Einhaltung der Speichernutzung und Stabilität. Wenn es funktioniert, auf jeden Fall gehen Sie mit websockets, weil langfristig die Unterstützung für große Daten-Pakete nur besser und sicher nicht schlechter. Wenn es stellt sich heraus instabil sind, oder wenn sockel.io kann nicht streamen größere Dateien, dann verwenden Sie die XHR-Konstrukt.
Btw, nur eine google-Suche zeigte siofile, habe nicht hingeschaut, dass viel, aber es ist vielleicht genau das, was Sie brauchen.