Какво е SockJS?

SockJS е библиотека с отворен код на JavaScript, която предоставя WebSocket-подобен API, докато прозрачно се връща към алтернативни транспорти, когато WebSocket е недостъпен. Тя е разработена за среди, където WebSocket връзките са блокирани — например от корпоративни firewall-и, по-стари браузъри или балансьори на натоварване, които не поддържат надграждане на връзки. SockJS преговаря автоматично най-добрия налични транспорт, избирайки от WebSocket, HTTP streaming, HTTP long-polling и няколко други механизма.

SockJS изисква съвместима библиотека на сървърната страна (като SockJS-Node или поддръжката на SockJS на Spring) и използва собствия си подпротокол, така че не може да се свърже към обикновена WebSocket крайна точка.

Описание на инструмента

Този инструмент предоставя SockJS клиент, базиран на браузър. Въведете URL адреса на SockJS сървърна крайна точка, свържете се, съставете текстови съобщения и наблюдавайте целия трафик в дневник на съобщенията с времеви печат. Активното име на транспорта (например websocket, xhr-streaming, xhr-polling) се показва в реално време, така че да видите кой резервен механизъм е избрала библиотеката.

Функции

  • Автоматично преговаряне на транспорта — свързване с най-добрия налични транспорт и показване кой е избран.
  • Дневник на живите съобщения — всички входящи съобщения и събития на връзката се записват с времеви печати за лесна проверка.
  • Текстови и JSON режими — напишете полезни товари като обикновен текст или структуриран JSON със синтактично маркиране и валидация.

Обяснени опции

Server URL — HTTP(S) URL адресът на SockJS крайната точка (например https://example.com/sockjs). Не добавяйте /websocket или никакъв суфикс на транспорта; SockJS управлява преговарянето на пътя вътрешно.

Transport — показан в областта на резултатите след отваряне на връзката. Общите стойности включват websocket (преводът е успешен), xhr-streaming (streaming над XHR) и xhr-polling (традиционен long-poll). Това поле остава празно, докато връзката не е установена.

Data type — преминете между режимите на съставяне Text и JSON. JSON режимът валидира полезния товар преди изпращане.

Auto-scroll — поддържа дневника на съобщенията прикрепен към най-новия запис.

Как работи

Клиентът използва SockJS JavaScript библиотеката, за да отвори връзка към целевия сървър. SockJS извършва информационен запрос към сървъра, за да открие кои транспорти се поддържат, след което преговаря най-добрия вариант. След свързване, инструментът препраща всички изходящи съобщения чрез SockJS метода send и регистрира всяко събитие onmessage, върнато от сървъра.

Съвети

  • SockJS сървърите обикновено излагат своята крайна точка на пътя като /sockjs или /ws. Проверете документацията на сървъра за правилния базов URL адрес.
  • Ако транспортът показва xhr-polling вместо websocket, сървърът или прокси може да блокира WebSocket надграждане.
  • SockJS не е съвместим с обикновени WebSocket крайни точки. Използвайте WebSocket Test Client за стандартни WebSocket сървъри.