You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`Sec-WebSocket-Extensions: deflate-frame` означает, что браузер поддерживает сжатие данных. Расширение -- это что-то, связанное с передачей данных, а не сами данные.
120
120
121
-
-`Sec-WebSocket-Protocol: soap, wamp` означает, что мы будем передавать не только произвольные данные, но и данные в протоколах [SOAP](http://en.wikipedia.org/wiki/SOAP) или WAMP (""The WebSocket Application Messaging Protocol" -- "протокол обмена сообщениями WebSocket приложений"). Подпротоколы WebSocket регистрируются в [каталоге IANA](http://www.iana.org/assignments/websocket/websocket.xml).
121
+
-`Sec-WebSocket-Protocol: soap, wamp` означает, что мы будем передавать не только произвольные данные, но и данные в протоколах [SOAP](http://en.wikipedia.org/wiki/SOAP) или WAMP (The WebSocket Application Messaging Protocol" -- "протокол обмена сообщениями WebSocket приложений"). Подпротоколы WebSocket регистрируются в [каталоге IANA](http://www.iana.org/assignments/websocket/websocket.xml).
122
122
123
123
Заголовок `Sec-WebSocket-Extensions` отправляется браузером автоматически со списком всевозможных расширений, которые он поддерживает.
В браузере мы напрямую работаем только с текстовыми и бинарными фреймами.
173
173
174
-
**Метод WebSocket `.send()` может отправлять и текстовые и двоичные данные.**
174
+
**Метод WebSocket `.send()` может отправлять и текстовые и бинарные данные.**
175
175
176
-
Вызов , `socket.send(body)` принимает `body` в виде строки или любом бинарном формате включая `Blob`, `ArrayBuffer` и другие. Дополнительных настроек не требуется, просто отправляем.
176
+
Вызов `socket.send(body)` принимает `body` в виде строки или любом бинарном формате включая `Blob`, `ArrayBuffer` и другие. Дополнительных настроек не требуется, просто отправляем.
177
177
178
-
**При получении данных, текст всегда поступает в виде строки. А для двоичных данных мы можем выбрать один из двух форматов: `Blob` или `ArrayBuffer`.**
178
+
**При получении данных, текст всегда поступает в виде строки. А для бинарных данных мы можем выбрать один из двух форматов: `Blob` или `ArrayBuffer`.**
179
179
180
-
Значение по умолчанию `socket.bufferType` -- `"blob"`, поэтому двоичные данные поступают в Blobs.
180
+
Значение по умолчанию `socket.bufferType` -- `"blob"`, поэтому бинарные данные поступают в виде `Blob`.
181
181
182
-
[Blob](info:blob) -- это высокоуровневый двоичный объект, он напрямую интегрируется с `<a>`, `<img>` и другими тегами. Это значение по умолчанию. Но для обработки данных, если требуется доступ к отдельным байтам, мы можем изменить его на `"arraybuffer"`:
182
+
[Blob](info:blob) -- это высокоуровневый бинарный объект, он напрямую интегрируется с `<a>`, `<img>` и другими тегами. Это значение по умолчанию. Но для обработки данных, если требуется доступ к отдельным байтам, мы можем изменить его на `"arraybuffer"`:
183
183
184
184
```js
185
185
socket.bufferType="arraybuffer";
@@ -220,6 +220,9 @@ setInterval(() => {
220
220
socket.close([code], [reason]);
221
221
```
222
222
223
+
-`code` -- специальный WebSocket-код закрытия (не обязателен).
224
+
-`reason` -- строка с описанием причины закрытия (не обязательна).
225
+
223
226
Затем противоположная сторона в обработчике события `close` получит и код `code` и причину `reason`, например:
0 commit comments