Theoretisch präsentiert das WebSocket-Protokoll ein nachrichtenbasiertes Protokoll. Beachten Sie jedoch, dass ...
- WebSocket-Nachrichten bestehen aus einem oder mehreren Frames.
- Ein Rahmen kann entweder ein kompletter Rahmen oder ein fragmentierter Rahmen sein.
- Nachrichten selbst haben keine Längenangabe in das Protokoll eingebaut, nur Frames.
- Frames können eine Nutzdatenlänge von bis zu 9.223.372.036.854.775.807 Bytes haben (aufgrund der Tatsache, dass das Protokoll einen 63-Bit-Längenindikator ermöglicht).
- Der primäre Zweck der Fragmentierung besteht darin, das Senden einer Nachricht unbekannter Größe zu ermöglichen, wenn die Nachricht gestartet wird, ohne diese Nachricht puffern zu müssen. So
...
Eine einzelne WebSocket "Nachricht" könnte von einer unbegrenzten Anzahl von 9.223.372.036.854.775.807 Byte-Fragmenten bestehen.
Dies erschwert eine Implementierung über seine API Sie vollständige Nachrichten liefern immer machen kann ...
Während also im allgemeinen Fall die Antwort auf Ihre Frage, dass das WebSocket-Protokoll ist eine Nachricht Protokoll und Sie müssen Ihre Nachrichten nicht manuell umrahmen. Die API, die Sie für die Verwendung des Protokolls verwenden, verfügt möglicherweise über Beschränkungen für die Nachrichtengröße (um die Zustellung von Nachrichten als einzelnen Chunk zu garantieren) oder eine Streaming-Schnittstelle, um Nachrichten in unbegrenzter Größe zuzulassen.
Ich habe über das zurück während des Standardisierungsprozesses here.
http://StackOverflow.com/Q/21024173/632951, http://StackOverflow.com/A/13011241/632951 – Pacerier