Ответ 1
Соответствующими двумя типами кадров, которые может отправлять сервер, являются текстовые фреймы и двоичные кадры (5.2). ws.binaryType
позволяет определить, в каком формате вы хотите получить двоичные данные.
- Двоичные данные: в зависимости от
binaryType
устанавливается либоarraybuffer
, либоblob
- Текстовые данные: строка
Чтобы определить тип, вы можете использовать:
-
e.data instanceof ArrayBuffer
-
e.data instanceof Blob
-
typeof e.data === "string"
4. Если тип указывает, что данные являются Text, тогда инициализируйте атрибут event
data
для данных.Если тип указывает, что данные двоичные, а
binaryType
- "blob
", тогда инициализируйте атрибут eventdata
новому объектуblob
, который представляет данные в качестве исходных данных.Если тип указывает, что данные двоичные, а
binaryType
- "arraybuffer
", то инициализируйте атрибут eventdata
новому объектуarraybuffer
, доступному только для чтения, содержимое которогоdata
.