WebSocket (Веб-сокет) — это протокол полнодуплексной связи поверх TCP-соединения. То есть с помощью этого протокола можно передавать и принимать сообщение одновременно. Он позволяет в режиме реального времени обмениваться сообщениями между сервером и клиентом (браузером).

WebSocket устанавливает одно единственное постоянное соединение клиента с сервером, по которому происходит двухсторонний обмен информацией. Так как соединение с клиентом и сервером не закрывается (он держится открытым постоянно), это позволяет избежать передачи лишних данных (HTTP-заголовки). Так же в стандарте WebSockets нет никаких ограничение по количеству открытых соединение и по очередностью запросов.

Через вебсокеты вы можете не только передавать тестовые сообщения, но так же передавать еще и файлы:

socket.send(form.elements[0].file);

Для отправки не текстовых данных можно также использовать объекты Blob и ArrayBuffer.

Преимущества websockets:

  • Двустороннее соединения
  • Снижение используемого трафика
  • Безопасность
  • Минимальная задержка передачи данных

Работа с WebSocket

Работать с вебсокетами довольно легко, не требуется больших усилий для того что бы написать простой «hello server!» скрипт:

// Cоздаем соедение между сервером и клиентомvar exampleSocket = new WebSocket("ws://localhost:8080/socketserver"); // Отправляем сообщение на серверexampleSocket.send("I sey hello server!");// Получаем сообщение от сервераexampleSocket.onmessage = function (event) {  alert(event.data);}// Если что то не так, то выведем ошибкуexampleSocket.onerror = function(error) {  alert(error.message);};// Проверяем как закрылось соединение с серверомexampleSocket.onclose = function(event) {  if (event.wasClean) {    alert("Ok");  } else {    alert("Error"); // например, "убит" процесс сервера  }  alert('Error : ' + event.code + ' reason: ' + event.reason);};

В качестве сервера вебсокетов лучше всего использовать node.js.

Для чего нужны вебсокеты?

Самый простой вариант использования websocket’ов это чат. Однако не только чатами ограничивается использование вебсокетов, они нужны везде, где есть постоянная двухсторонная связь между клиентом (браузером)  и сервером. Допустим этим может интерактивный интерфейс веб-сайта в котором постоянно происходят изменения отдельных блоков, или всей страницы в зависимости от какого-либо действия пользователя.

На данный момент все современные браузеры поддерживают технологию websocket . Что бы попробовать сокеты в действии без запуска сервера на своей стороне используйте сайт websocket.org , который предоставляет простейший сервер веб-сокетов: веб-страница отправляет ему сообщение, а он возвращает это же сообщение веб-странице.

admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

2 месяца ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

2 месяца ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

2 месяца ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

2 месяца ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

2 месяца ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

2 месяца ago