JavaScript WebSocket: опис, принцип роботи, застосування

Реалізація клієнта JavaScript

Вихідний код JavaScript з ім’ям файлу wsclient.js включають в сторінку HTML5, щоб він міг відкрити з’єднання WebSocket. Сценарій містить код для створення клієнта WS з використанням його інтерфейсу.

Проста сторінка HTML5 використовується для створення форми підключення до кінцевої точки сервера і обміну повідомленнями. HTML-сторінка використовує wsclient.js скрипт, щоб запустити HTML-файл, відкрити його в браузері, наприклад, Google Chrome, вибравши «Файл» -> «Відкрити».

Простий сервер може бути легко реалізований на Java. Він просто повертає повідомлення, отримане від клієнта, у верхньому регістрі:

  • Відкривають wsclient form.html у веб-браузері, і вводять необхідні параметри підключення WebSocket, а потім натискають кнопку «Підключитися». Якщо з’єднання було встановлено успішно, кнопка буде відключена, а кнопка «Вимкнути» буде включена.
  • Водять повідомлення у полі «Текст повідомлення» і натисніть кнопку «Відправити». Сервер відобразить її великими буквами, а клієнт JavaScript покаже в текстовій області.
  • “Інструменти розробника” Google Chrome є хорошим інструментом для вивчення сполук WebSocket. У вікні “Інструменти розробника” переходять на вкладку “Мережа” і вибирають WS, щоб переглянути список всіх підключень для поточної сторінки.
  • Натискають на вкладку «Заголовок», щоб переглянути значення запиту та відповіді.
  • На вкладці Frames перераховані всі вихідні і вхідні повідомлення. Перше повідомлення — це те, що було відправлено від клієнта на сервер, а друге повідомлення — ехо-сигнал сервера великими літерами.
  • Timing вкладка показує, як довго з’єднання було відкрито.
  • Консолі використовуються, щоб подивитися на поточний екземпляр WS, що знаходиться в межах області дії HTML сторінки.
  • Вводять ім’я змінної WebSocket JavaScript, WS і консоль надрукує JSON-подання об’єкта.
  • ReadyState. Властивість об’єкта відображає стан з’єднання. Значення 1 означає, що воно відкрите і готове до прийому і відправлення повідомлень. Його можна використовувати для перевірки з’єднання WS перед спробою передати дані. Якщо з’єднання закрито, може бути реалізована логіка його повторного автоматичного підключення.
  • Wireshark — це дуже всеосяжний і корисний інструмент для моніторингу трафіку в мережі. Його можна безкоштовно завантажити з офіційного сайту. Після установки запускають його і обирають мережевий інтерфейс для захоплення трафіку.
  • Щоб переглянути тільки трафік WS, вводять websocket в поле фільтра. Натискають на кадр, щоб переглянути вміст, включаючи фактичну корисну навантаження повідомлення. Прокручують вниз до Line-based text data вузла і розгортають його.
  • Натискають правою кнопкою миші стислу корисну навантаження та вибирають «Показати байти пакету». У діалоговому вікні вибирають «Стиснутий» в списку «Декодувати», щоб переглянути корисну навантаження у вигляді простого тексту.