2012-11-26 11 views

Antwort

6

Es gibt keine explizite Begrenzung der Größe einer SockJS-Nachricht. Aber leider ist SockJS ziemlich zerbrechlich und sollte nicht verwendet werden, um riesige Daten zu senden. In der idealen Welt würden Sie Steuerungsnachrichten (latenzempfindlich) über SockJS und große Nutzlasten (für den Durchsatz) mit externen Methoden senden - zum Beispiel mit einem AJAX-Aufruf.

Auf der technischen Seite sollten Sie in der Lage sein, so ziemlich alles über den Websocket-Transport zu pushen, aber beim Streaming und Polling müssen Sie vorsichtiger sein. Insbesondere müssen Abrufaufträge innerhalb von 5 Sekunden wiederhergestellt werden, und es kann schwierig werden, wenn die gesamte Bandbreite belegt ist, indem Daten vom Browser an den Server gesendet werden. Das Hochladen großer Blobs wird daher bei Sockjs nicht empfohlen.

+2

Danke! Ich habe ein wenig mehr Nachforschungen angestellt und herausgefunden, dass die Standard-Web-Socket-Frame-Größenbeschränkung von Netty (die in Vert.x verwendet wird) auf etwas über 100k gesetzt ist. Das passt im Moment (Nachrichten sind ungefähr 5k), aber wenn die Nachrichten anfangen, über 100k zu wachsen, werde ich die sockjs/ajax Lösung in Betracht ziehen. –

+0

Ich verwende Spring Socks Implementierung, finde keine Möglichkeit, die maximale Grenze zu spezifizieren. Schränkt der Sockjs-Client die Nachrichtengröße in irgendeiner Weise ein oder bietet er eine Möglichkeit, die maximale Größe anzugeben? – cpandey05

Verwandte Themen