Пишу про разработку вообще и в частности про: JavaScript, HTML5, CSS3, AngularJS, ReactJS, Agile.

Websockets – что это такое и что с этим делать

Сегодня поговорим о вебсокетах – технологии передачи данных, которая пришла вместе с html5. В двух словах websockets выстраивают непрерывное соединения клиента с сервером по протоколу TCP. Одно из самых ярких преимуществ такого подхода в том, что теперь сервер сможет проактивно отправить всем подписанным клиентам сообщение без того чтобы клиент отправлял сам запрос на сервер.

html5-websockets

Websockets поддерживаются всеми современными браузерами (IE поддерживает их начиная с 10-ой версии). Разумеется, если вы планируете поддержку старых браузеров, то это достаточно серьезное ограничение. Хотя, с другой стороны нужно смотреть чем пользуются ваши пользователи и уже исходя из этого делать выводы.

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

Объект вебсокетс, по сути предоставляет набор событий, которые обеспечивают организацию работы по обмене данных. Все события можно представить в виде диаграммы:

websockets-events

Как видите их совсем немного и само их назначение легко угадывается из названия :]

Websockets и node.js

Давайте посмотрим на простой пример работы с websockets с сервером на node.js. Для начала нам нужно установить зависимость ws:

Теперь сам сервер:

Вебсокет сервер будет слушать 8080 порт и если придет сообщение, то буде его отсылать обратно и выводить в лога на экране.

Теперь само приложение на клиентской части. HTML достаточно простой:

А вот файл app.js

Как видите ничего сложного в применении вебсокетов в принципе нету. Однако они дают огромное поле для реализации самых разных идей.

Поделиться:
comments powered by Disqus