Поиск…
Вступление
WebSocket - это протокол, который обеспечивает двустороннюю связь между клиентом и сервером:
Цель WebSocket - предоставить механизм для приложений на базе браузера, которые нуждаются в двусторонней связи с серверами, которые не полагаются на открытие нескольких HTTP-соединений. ( RFC 6455 )
WebSocket работает по протоколу HTTP.
Синтаксис
- новый WebSocket (url)
- ws.binaryType / * тип доставки полученного сообщения: "arraybuffer" или "blob" * /
- ws.close ()
- ws.send (данные)
- ws.onmessage = функция (сообщение) {/ * ... * /}
- ws.onopen = function () {/ * ... * /}
- ws.onerror = function () {/ * ... * /}
- ws.onclose = function () {/ * ... * /}
параметры
параметр | подробности |
---|---|
URL | URL-адрес сервера, поддерживающий это соединение веб-сокета. |
данные | Содержимое для отправки на хост. |
сообщение | Сообщение, полученное от хоста. |
Установите соединение с сетевой розеткой
var wsHost = "ws://my-sites-url.com/path/to/web-socket-handler";
var ws = new WebSocket(wsHost);
Работа со строковыми сообщениями
var wsHost = "ws://my-sites-url.com/path/to/echo-web-socket-handler";
var ws = new WebSocket(wsHost);
var value = "an example message";
//onmessage : Event Listener - Triggered when we receive message form server
ws.onmessage = function(message) {
if (message === value) {
console.log("The echo host sent the correct message.");
} else {
console.log("Expected: " + value);
console.log("Received: " + message);
}
};
//onopen : Event Listener - event is triggered when websockets readyState changes to open which means now we are ready to send and receives messages from server
ws.onopen = function() {
//send is used to send the message to server
ws.send(value);
};
Работа с бинарными сообщениями
var wsHost = "http://my-sites-url.com/path/to/echo-web-socket-handler";
var ws = new WebSocket(wsHost);
var buffer = new ArrayBuffer(5); // 5 byte buffer
var bufferView = new DataView(buffer);
bufferView.setFloat32(0, Math.PI);
bufferView.setUint8(4, 127);
ws.binaryType = 'arraybuffer';
ws.onmessage = function(message) {
var view = new DataView(message.data);
console.log('Uint8:', view.getUint8(4), 'Float32:', view.getFloat32(0))
};
ws.onopen = function() {
ws.send(buffer);
};
Создание безопасного подключения к Интернету
var sck = "wss://site.com/wss-handler";
var wss = new WebSocket(sck);
Это использует wss
вместо ws
для создания безопасного подключения к веб- wss
использующего HTTPS вместо HTTP
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow