Javascript WebSocket устанавливает соединение единожды или при каждой отправке сообщения?

240
26 февраля 2017, 10:06

Есть Javascript сокет:

ws = new WebSocket("ws://site.com/demo");
ws.onopen = function() { ... };
ws.onclose = function() { ... };
ws.onmessage = function(evt) { ... };

И есть один простой вопрос. Соединение с веб-сервером устанавливается каждый раз при отправке каждого любого сообщения

ws.send(...);

или же всего один раз? Насколько мне известно, отправив с помощью такого сокета сообщение, на веб-сервер поступает GET-запрос. Но он поступает по изначально установленному соединению или создаётся новое соединение с веб-сервером?

Answer 1

Все сообщения в обе стороны отправляются по одному соединению, в этом весь смысл WebSockets.

Насколько мне известно, отправив с помощью такого сокета сообщение, на веб-сервер поступает GET-запрос.

Это не так, на самом деле. Сокеты работают по собственному протоколу, а не по HTTP, поэтому типов запросов из HTTP у них нет. Но сокеты реализованы поверх HTTP, поэтому при установке соединения действительно отправляется GET-запрос. Но дальше уже никакой семантики HTTP нет.

READ ALSO
странности с Yandex api

странности с Yandex api

Всем привет! Столкнулся с очень странной вещьюПишу на asp

222
преобразовать теги в текст jquery

преобразовать теги в текст jquery

есть проблеманеобходимо через jq преобразовать теги в простой текст

320
Локальные DB для Google Extensions

Локальные DB для Google Extensions

Какие есть локальные DB (на стороне клиента), которые можно использовать с помощью Google ExtensionsИ да, важно что бы был полнотекстовый поиск

210