Websockets - що це таке і що з цим робити - артем демо - блог програміста

Сьогодні поговоримо про вебсокетах - технології передачі даних, яка прийшла разом з html5. У двох словах websockets вибудовують безперервне з'єднання клієнта з сервером по протоколу TCP. Одне з найяскравіших переваг такого підходу в тому, що тепер сервер зможе проактивно відправити всім підписаним клієнтам повідомлення без того щоб клієнт відправляв сам запит на сервер.

Websockets - що це таке і що з цим робити - артем демо - блог програміста

Websockets підтримуються всіма сучасними браузерами (IE підтримує їх починаючи з 10-ої версії). Зрозуміло, якщо ви плануєте підтримку старих браузерів, то це досить серйозне обмеження. Хоча, з іншого боку потрібно дивитися чим користуються ваші користувачі і вже виходячи з цього робити висновки.

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

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

Websockets - що це таке і що з цим робити - артем демо - блог програміста

Як бачите їх зовсім небагато і саме їх призначення легко вгадується з назви:]

Websockets і node.js

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