How to check for websocket connections?
Деякі веб-сайти використовують веб-супутники. How is it possible to check what socket connections are open and on what ports they are open? Я принципово намагається перейти до веб-сайту і бути здатним до monitorа, який веб-сокет connections it opens. Чи може я використати програму для цього програмного забезпечення як фідлер або може використовувати Chrome або Firefox розробники інструментів для цього?
1 Answer 1
Якщо ви не хочете, щоб автоматизувати веб-заголовок шрифту (і.е., щоб зробити його "розумний", один веб-сайт за одним, з вашим своїм браузером) :
Ви можете відкрити Chrome насолоду (CTRL+SHIFT+J) під під'єднанням до мережі електронної пошти, які йдуть до веб-записів поточно оголошені і вам можуть бути встановлені на рамки, які повинні були розширитися з сервером.
Або це не clear, якщо ви хочете, щоб ви з вашим браузером або якщо ви хочете, щоб автоматизувати процес автоматичного сканування деяких веб-сайтів для перегляду веб-залежної сторінки (i.e. використовуючи script) ?
Якщо ви, мабуть, ви повинні взяти до уваги на Chrome driver або навіть випробування framework як geb (або Selenium, Cucumber, . ).
WebSocket
Протокол WebSocket ("веб-сокет"), описаний у специфікації RFC 6455, забезпечує можливість обміну даними між браузером та сервером через постійне з'єднання. Дані передаються в обох напрямках у вигляді «пакетів», без розриву з'єднання і додаткових HTTP-запитів.
WebSocket особливо хороший для сервісів, які потребують постійного обміну даними, наприклад онлайн ігри, торгові майданчики, що працюють у реальному часі, і т.д.
Простий приклад
Щоб відкрити веб-сокет-з'єднання, нам потрібно створити об'єкт new WebSocket , вказавши в URL-адресі спеціальний протокол ws :
let socket = new WebSocket("ws://javascript.info");
Також існує протокол wss:// , який використовує шифрування. Це як HTTPS для веб-сокетів.
Протокол wss:// не тільки використовує шифрування, але й має підвищену надійність.
Це тому, що дані ws:// не зашифровані, помітні для будь-якого посередника. Старі проксі-сервери не знають про WebSocket, вони можуть побачити "дивні" заголовки та закрити з'єднання.
З іншого боку, wss:// – це WebSocket поверх TLS (як і, як HTTPS – це HTTP поверх TLS), безпечний транспортний рівень шифрує дані від відправника і розшифровує за одержувача. Пакети даних передаються у зашифрованому вигляді через проксі, які не можуть бачити, що всередині, та завжди пропускають їх.
Як тільки об'єкт WebSocket створено, ми маємо слухати його події. Їх всього 4:
… А якщо ми хочемо відправити щось, то виклик socket.send(data) зробить це.
let socket = new WebSocket("wss://javascript.info/article/websocket/demo/hello"); socket.onopen = function(e) < alert("[open] З'єднання встановлено"); alert("Надсилаємо дані на сервер"); socket.send("Мене звуть Джон"); >; socket.onmessage = function(event) < alert(`[message] Дані отримані із сервера: $`); >; socket.onclose = function(event) < if (event.wasClean) < alert(`[close] З'єднання закрито чисто, код = $ причина = $`); > else < // наприклад, сервер убив процес або мережа недоступна // зазвичай у разі event.code 1006 alert('[close] З'єднання перервано'); >>; socket.onerror = function(error) < alert(`[error]`); >;
Для демонстрації є невеликий приклад сервера server.js, написаного на Node.js для запуску прикладу вище. Він відповідає "Привіт із сервера, Джон", після чекає 5 секунд і закриває з'єднання.
Так ви побачите події open → message → close.
Загалом, все, ми можемо спілкуватися за протоколом WebSocket. Просто, чи не так?
Тепер давайте поговоримо докладніше.
Відкриття веб-сокету
Коли новий WebSocket(url) створений, він відразу починає встановлювати з'єднання.
Браузер, за допомогою спеціальних заголовків, запитує сервер: Ти підтримуєш Websocket? і якщо сервер відповідає так, вони починають працювати за протоколом WebSocket, який вже не є HTTP.
Ось приклад заголовків для запиту, який робить новий WebSocket("wss://javascript.info/chat") .
GET /chat Host: javascript.info Origin: https://javascript.info Connection: Upgrade Upgrade: websocket Sec-WebSocket-Key:
- Origin – джерело поточної сторінки (наприклад, https://javascript.info ). Об'єкт WebSocket за своєю природою не зав'язаний поточне джерело. Немає жодних спеціальних заголовків чи інших обмежень. Старі сервери все одно не можуть працювати з WebSocket, тому проблем із сумісністю немає. Але заголовок Origin важливий, оскільки він дозволяє серверу вирішувати, чи використовувати WebSocket із цим сайтом.
- Connection: Upgrade - сигналізує, що клієнт хотів би змінити протокол.
- Upgrade: websocket – запит протоколу «websocket».
- Sec-WebSocket-Key – довільний ключ, створений браузером для забезпечення безпеки.
- Sec-WebSocket-Version – версія WebSocket, поточна версія 13.
Ми не можемо використовувати XMLHttpRequest або fetch для створення такого запиту HTTP, тому що JavaScript не дозволяє встановлювати такі заголовки.
Якщо сервер згоден перейти на WebSocket, то він повинен відправити у відповідь код 101:
101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: hsBlbuDTkk24srzEOTBUlZAlC2g=
Тут Sec-WebSocket-Accept – це Sec-WebSocket-Key, перекодований за допомогою спеціального алгоритму. Браузер використовує його, щоб переконатися, що відповідь відповідає запиту.
Після цього дані передаються за протоколом WebSocket, і невдовзі ми побачимо його структуру (фрейми). І це зовсім не HTTP.
Розширення та підпротоколи
Можуть бути додаткові заголовки Sec-WebSocket-Extensions та Sec-WebSocket-Protocol, що описують розширення та підпротоколи.
- Sec-WebSocket-Extensions: deflate-frame означає, що браузер підтримує стиснення даних. Розширення – це, пов'язані з передачею даних, що розширює сам протокол WebSocket. Заголовок Sec-WebSocket-Extensions відправляється браузером автоматично зі списком різноманітних розширень, які він підтримує.
- Sec-WebSocket-Protocol: soap, wamp означає, що ми передаватимемо не тільки довільні дані, але й дані в протоколах SOAP або WAMP (The WebSocket Application Messaging Protocol" – "протокол обміну повідомленнями WebSocket додатків"). Тобто цей заголовок описує не передачу, а формат даних, який ми збираємось використовувати. у каталозі IANA. Цей необов'язковий заголовок ставимо ми самі, передаючи масив підпротоколів другим параметром new WebSocket, ось так:
let socket = new WebSocket("wss://javascript.info/chat", ["soap", "wamp"]);
Сервер повинен відповісти переліком протоколів та розширень, які він може використати.
GET / chat Host: javascript.info Upgrade: websocket Connection: Upgrade Origin: https://javascript.info Sec-WebSocket-Key: Iv8io/9s+lYFgZWcXczP8Q== Sec-WebSocket-Version: 13 -frame Sec-WebSocket-Protocol: soap, wamp
101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: hsBlbuDTkk24srzEOTBUlZAlC2g= Sec-WebSocket-Extensions: deflate-frame Sec-WebSocket-Protocol: soap
Тут сервер відповідає, що підтримує розширення – deflate-frame і може використовувати лише протокол SOAP зі списку запитаних підпротоколів.
Передача даних
Потік даних у WebSocket складається з «фреймів», фрагментів даних, які можуть бути надіслані будь-якою стороною, та які можуть бути наступними видами:
- «текстові кадри» – містять текстові дані, які сторони надсилають одна одній.
- «Бінарні фрейми» – містять бінарні дані, які сторони надсилають одна одній.
- "пінг-понг фрейми" використовується для перевірки з'єднання; відправляється із сервера, браузер реагує на них автоматично.
- також є «фрейм закриття з'єднання» та деякі інші службові кадри.
У браузері ми працюємо безпосередньо з текстовими та бінарними кадрами.
Метод WebSocket .send() може надсилати і текстові, і бінарні дані.
Виклик socket.send(body) приймає body у вигляді рядка або будь-якому бінарному форматі, включаючи Blob, ArrayBuffer та інші. Додаткових налаштувань не потрібно, просто надсилаємо у будь-якому форматі.
При отриманні даних текст завжди надходить у вигляді рядка. А для бінарних даних ми можемо вибрати один із двох форматів: Blob або ArrayBuffer.
Це задається властивістю socket.binaryType, за умовчанням воно дорівнює "blob", так що бінарні дані надходять у вигляді Blob-об'єктів.
socket.binaryType = "arraybuffer"; socket.onmessage = (event) => < // event.data є рядком (якщо текст) або arraybuffer (якщо двійкові дані) >;
Обмеження швидкості
Уявимо, що наша програма генерує багато даних для відправки. Але у користувача повільне з'єднання, можливо, воно в інтернеті з мобільного телефону і не з міста.
Ми можемо викликати socket.send(data) знову і знову. Але дані будуть буферизовані (збережені) у пам'яті та відправлені лише з тією швидкістю, яку дозволяє мережа.
Властивість socket.bufferedAmount зберігає кількість байт буферизованих даних на даний момент, що очікують відправки по мережі.
Ми можемо вивчити його, щоб побачити, чи дійсно сокет доступний для передачі.
// кожні 100мс перевірити сокет і надіслати більше даних, // тільки якщо всі поточні надіслані setInterval(() => < if (socket.bufferedAmount == 0) < socket.send(moreData()); >>, 100);
Закриття підключення
Зазвичай, коли сторона хоче закрити з'єднання (браузер та сервер мають рівні права), вони відправляють "фрейм закриття з'єднання" з кодом закриття та вказують причину у вигляді тексту.
socket.close([code], [reason]);
- code – спеціальний WebSocket-код закриття (не обов'язковий).
- reason – рядок із описом причини закриття (не обов'язковий).
Потім протилежна сторона в обробнику події close отримає код code і причину reason , наприклад:
// Закриває сторона: socket.close (1000, "робота закінчена"); // інша сторона: socket.onclose = event => < // event.code === 1000 // event.reason === "робота закінчена" // event.wasClean === true (закрито чисто) >;
code – це будь-яке число, а спеціальний код закриття WebSocket.
Найбільш поширені значення:
- 1000 – за замовчуванням, нормальне закриття,
- 1006 – неможливо встановити такий код вручну, вказує, що з'єднання було втрачено (немає кадру закриття).
Є й інші коди:
- 1001 – сторона відключилася, наприклад сервер вимкнено або користувач залишив сторінку,
- 1009 – повідомлення занадто велике для обробки,
- 1011 – непередбачена помилка на сервері,
- … і таке інше.
Повний список знаходиться у RFC6455, §7.4.1.
Коди WebSocket чимось схожі на коди HTTP, але вони різні. Зокрема, будь-які коди менше 1000 зарезервовані. Якщо спробуємо встановити такий код, то отримаємо помилку.
// у випадку, якщо з'єднання скинуто socket.onclose = event => < // event.code === 1006 // event.reason === "" // event.wasClean === false (немає кадру, що закриває) > ;
Стан з'єднання
Щоб отримати стан з'єднання, існує додаткова властивість socket.readyState зі значеннями:
- 0 – «CONNECTING»: з'єднання ще не встановлено,
- 1 – «OPEN»: обмін даними,
- 2 – «CLOSING»: з'єднання закривається,
- 3 – CLOSED: з'єднання закрито.
Приклад чату
Давайте розглянемо приклад чату за допомогою WebSocket API і модуля WebSocket сервера Node.js https://github.com/websockets/ws. Основну увагу ми, звичайно, приділимо клієнтській частині, але й серверна дуже проста.
HTML: нам потрібна форма для надсилання даних та для відображення повідомлень:
Від JavaScript ми хочемо 3 речі:
- Відкрити з'єднання.
- Під час надсилання форми користувачем – викликати socket.send(message) для повідомлення.
- При отриманні вхідного повідомлення додати його до div#messages .
let socket = new WebSocket("wss://javascript.info/article/websocket/chat/ws"); // надсилання повідомлення з форми document.forms.publish.onsubmit = function() < let outgoingMessage = this.message.value; socket.send(outgoingMessage); return false; >; // одержання повідомлення - відобразити дані в div # messages socket.onmessage = function (event)
Серверний код виходить за межі цього розділу. Тут ми будемо використовувати Node.js, але ви не повинні це робити.Інші платформи також підтримують засоби роботи з WebSocket.
Серверний алгоритм дій буде таким:
- Створити clients = new Set () - Набір сокетів.
- Для кожного прийнятого веб-сокету – додати його до набору clients.add(socket) та поставити йому обробник події message для прийому повідомлень.
- Коли повідомлення отримано: перебрати клієнтів клієнтів та надіслати його всім.
- Коли підключення закрито: clients.delete(socket).
const ws = new require('ws'); const wss = новий ws.Server(); const clients = новий Set(); http.createServer((req, res) => < // у реальному проекті тут може бути код для обробки відмінних від websoсket-запитів // тут ми працюємо з кожним запитом як з веб-сокетом wss.handleUpgrade(req, req.). socket, Buffer.alloc(0), onSocketConnect); function onSocketConnect(ws) < clients.add(ws); ws.on('message', function(message) < message = message.slice(0, 50); // максимальний розмір повідомлення 50 for(let client of clients) < client.send(message); >>); ws.on('close', function() < clients.delete(ws); >); >
Ось робочий приклад:
Ви також можете завантажити його (верхня права кнопка в іфреймі) та запустити локально. Тільки забудьте встановити Node.js і виконати команду npm install ws до запуску.
Разом
WebSocket – це сучасний спосіб мати постійне з'єднання між браузером та сервером.
- Немає обмежень, пов'язаних із крос-доменними запитами.
- Мають відмінну підтримку браузерами.
- Можуть надсилати/отримувати як рядки, так і бінарні дані.
WebSocket сам по собі не містить таких функцій, як перепідключення при обриві з'єднання, автентифікацію користувачів та інші механізми високого рівня. Для цього є клієнтські та серверні бібліотеки, а також можна реалізувати це вручну.
Іноді, щоб додати WebSocket до існуючого проекту, WebSocket-сервер запускають паралельно з основним сервером. Вони спільно використовують одну базу даних. Запити до WebSocket надсилаються на wss://ws.site.com – піддомен, який веде до WebSocket-сервера, тоді як https://site.com веде на основний HTTP-сервер.
Звісно, можливі й інші шляхи інтеграції.
10 найкращих інструментів тестування WebSocket для усунення проблем зв'язку реального часу
Найбільше WebSocket-сервери підходять для комунікаційних з'єднань реального часу, оскільки вони оминають обмеження HTTP.
Ви отримуєте надійність та двосторонній зв'язок, які потрібні для створення систем реального часу. Однак, перш ніж ви зможете ним скористатися, вам потрібно його протестувати та усунути всі неполадки.
Дозвольте, я зверну увагу на те, чому так важливо тестувати WebSocket і які інструменти вам можуть у цьому допомогти.
Навіщо потрібно тестувати WebSocket?
API WebSocket створює підключення до сервера та дозволяє ними керувати.
Отже, якщо ви протестуєте API, то зможете дізнатися про всі потенційні проблеми, які можуть виникнути в процесі встановлення зв'язку (або з'єднання). Саме для цього потрібно тестувати WebSocket – для того, щоб виявити потенційні проблеми зі з'єднанням та знайти їх вирішення.
З технічного погляду, тестуючи WebSocket, ви повинні перевірити кілька речей. Ось деякі з них:
- Коди станів
- Методи
- Запити та відповіді
- Час відгуку
- Продуктивність
- Безпека
- Бізнес-логіка
Наприклад, для вашого конкретного випадку може мати значення час відгуку, а провівши тестування, ви зможете дізнатися про те, що з цим пунктом є проблеми, і знайдете спосіб вирішити їх.
За аналогією ви можете перевірити безпеку WebSocket, перевіривши з'єднання на наявність уразливостей. Якщо у вас вдасться перехопити посилання і змінити повідомлення, то у вас є проблеми з безпекою, і ви про них дізнаєтеся.
Звичайно, для цього вам знадобляться інструменти тестування. Вибравши відповідний інструмент, ви зможете як слід протестувати API WebSocket та їх функції, перш ніж перейдете до етапу розгортання.
Переваги тестування WebSocket
Мета тестування WebSocket – отримати переваги, які має. Давайте я швидко пробігу по них, щоб виділити кожне окремо.
1. Підвищення рівня безпеки
Не має значення, WebSocket це чи ні, будь-яке з'єднання має бути безпечним. Наприклад, протокол WebSocket не має етапу авторизації, але для того, щоб забезпечити належну безпеку, її можна реалізувати на рівні програми. І коли ви будете тестувати з'єднання, ви більше знатимете про те, як воно здійснюється.
2. Підвищення продуктивності
Продуктивність також має важливе значення на етапі тестування. Відповідно до результатів тестування ви зможете взяти на себе ініціативу покращити продуктивність. Якщо ви можете оптимізувати сервер, то в довгостроковій перспективі це допоможе вам допомогти.
За аналогією, налагодження з'єднання може дати вам повніше уявлення про те, наскільки воно надійне і наскільки добре воно адмініструється. Надійність – це украй важливий чинник зв'язку реального часу.Якщо ви зможете підвищити надійність з'єднання, вам буде краще.
Для того, щоб забезпечити максимальний рівень надійності, краще вибрати найкращі сервери WebSocket.
Однією з значних переваг тестування API WebSocket є перевірка бізнес-логіки.
Це означає, що, запускаючи тестові сценарії, ви можете переконатися, що веб-додаток відповідає документації, проекту та поводиться так, як потрібно. Це гарантує те, що WebSocket не прийматиме некоректні вхідні дані.
Складнощі тестування WebSocket
При тестуванні технології WebSocket можуть виникати різні проблеми, але найпоширенішою є несумісність браузерів.
Так, деякі браузери не підтримують з'єднання через WebSocket, а це означає, що якщо таке з'єднання відбудеться, то додаток просто вдасться до іншої технології (довгого опитування). У зв'язку з цим тестувальники повинні пам'ятати про сумісність браузерів і про те, як додаток справлятиметься у разі її відсутності, і це додає деяку складність.
Зрозуміло, ви можете використовувати хмарні інструменти браузерного тестування, щоб трохи спростити процес тестування додатків.
Є ще одна проблема, вона пов'язана з обладнанням – у вас має бути кілька серверів для того, щоб ви могли керувати навантаженням, яке створюється з'єднаннями WebSocket. Якщо у вас буде недостатня кількість серверів, з'єднання закриється, що, природно, вплине на продуктивність.
І не забувайте, що збір інформації про час відгуку на асинхронних викликах на етапі тестування – досить складний процес.
Якщо ми говоримо про асинхронні дзвінки, тут зв'язок із сервером залежить від того, як/коли взаємодіє користувач. Найчастіше досить складно буває визначити за дією користувача, коли клієнт має отримати повідомлення.
Для того, щоб обійти всі ці проблеми, нам потрібен найкращий інструмент тестування, який зможе дати нам достатньо відомостей, які можна порівняти з реальними, і підготувати розробників до будь-яких ситуацій.
Погляньмо на кілька відмінних інструментів тестування WebSocket, які ви можете спробувати, а також розглянемо їх ключові функції.
1. Pie Socket
PieSocket пропонує WebSocket, що використовується різними фірмами. Навіть якщо ви не користуєтесь послугами, ви можете використовувати WebSocket tester. Ви можете ввести URL-адресу socket.io для того, щоб підключитися і проводити тестування, або встановити розширення для браузера, щоб тестувати незахищений WebSocket.
Важливі моменти :
- Підтримує небезпечний сервер WebSocket
- Підтримка тестування за допомогою socket.io
- Є розширення для браузера
- Простий та швидкий
Як і будь-який веб-інструмент, PieSocket призначений для того, щоб заощадити ваш час та спростити ваше життя. Однак він підходить не для всіх видів тестування.
2. Insomnia
Insomnia – це зручна автоматизована платформа, яка для швидшого тестування API використовує плагіни.
Вона допомагає швидко та ефективно тестувати API WebSocket, щоб ви могли впровадити їх у свої програми у максимально короткі терміни. Для початку ви можете спробувати безкоштовну версію, де ви зможете отримати доступ до всіх основних інструментів та функцій спільної роботи.
Важливі моменти:
- Підтримує декілька протоколів
- Надає можливість спільної роботи
- Зручний інтерфейс користувача
Щоб розблокувати функції наскрізного шифрування, і для того, щоб ця платформа підтримувала роботу з проектами в хмарі, вам потрібно перейти на платну версію.
3. Postman
Postman – це популярна платформа для роботи з API, за допомогою якої ви можете їх створювати та тестувати. Працюючи з цією платформою, ви можете виконувати велику кількість різних дій, пов'язаних з API - від написання документації до тестування.
Ви можете створити новий запит до WebSocket або відкрити запит до Socket.IO. Postman має спеціальну веб-панель для проведення тестування, але для вашої ж зручності найкраще використовувати настільну версію.
Важливі моменти :
- Є веб-панель та настільна програма для проведення ефективного тестування
- Простий у використанні та інтуїтивно зрозумілий
- Хороша документація
Неважливо, чи хочете ви відредагувати повідомлення, вибрати протоколи, налаштувати заголовки або вирішити якісь проблеми з підключенням до WebSocket, у журналі буде відображено всю необхідну інформацію, яка дозволить вам швидко провести тестування. Крім того, щоб отримати більше інформації, ви можете звернутися до документації.
4. Autobahn WebSocket
Autoban – пакет програм для тестування з відкритим вихідним кодом. Він призначений для автоматизації клієнт-серверних реалізацій протоколу WebSocket.
Важливі моменти :
- Являє собою набір автоматизованих тестувань
- Має відкритий вихідний код
У ньому є все найнеобхідніше: перевірка відповідності та тестування продуктивності/обмежень.Ви можете запустити його в образі Docker та використовувати для тестування клієнтів та серверів WebSocket.
5. apic
apic – це безкоштовне рішення з відкритим кодом, призначене для тестування API. Воно може стати вашим добрим помічником при створенні та тестуванні API.
Важливі моменти :
- Безкоштовний та має відкритий вихідний код
- Велика кількість функцій
Крім того, за допомогою цього рішення можна створювати документацію API та звіти про тестування та ділити ними з іншими. Більше того, цей інструмент надає симулятор API, за допомогою якого ви можете протестувати/симітувати відповіді, виходячи з дизайну API.
6. PortSwigger
Пам'ятаєте, я сказав, що однією з переваг тестування є повішення рівня безпеки?
Так от, BurpSuite від PostSwigger робить акцент на тестуванні веб-безпеки та підтримує WebSocket як частину своїх пропозицій. Скануючи API WebSocket, ви можете аналізувати відповіді, змінювати/перевіряти повідомлення та виключати можливості появи вразливостей.
Важливі моменти :
На відміну від усіх попередніх інструментів, тут ви можете вибрати його безкоштовну пробну версію або купити повну версію, щоб скористатися всіма його функціями.
7. K6
Як і попередній інструмент, K6 – інструмент спеціального призначення. Він орієнтований на тестування навантаження і виявлення проблем з продуктивністю.
Як я вже говорив, одна з проблем, що виникають під час тестування WebSocket, пов'язана з апаратними обмеженнями, зокрема з нестачею серверів для обробки навантаження, яке необхідне для виконання підключень до WebSocket.
Виходить, що К6 дозволяє вам перевіряти продуктивність, виявляти потенційні проблеми з надійністю та усувати їх ще до того, як вони з'являться.
Важливі моменти :
- Допомагає вистежувати проблеми з продуктивністю та усувати їх
Ви можете протестувати WebSocket як у своїй локальній системі, так і в хмарі за допомогою того самого сценарію.
8. Apidog
Apidog – це повнофункціональна платформа для тестування API. В її арсеналі є набір інструментів для розробників та автоматизовані інструменти для створення документації, звітів та імітовані дані для отримання необхідної інформації.
Ви можете без будь-яких проблем створювати та надсилати запити до WebSocket. Крім того, його можна використовувати разом із Postman, так що за потреби ви можете використовувати комбінацію інструментів.
Apilog має безкоштовний пробний період, протягом якого у вас буде діяти обмеження на обсяг сховища для всіх основних функцій. На момент написання статті йшлося про впровадження платної версії з розширеним функціоналом. Якщо її знайдете, можете спробувати.
Важливі моменти :
- Є безкоштовна пробна версія
- Може працювати разом із Postman
Крім цих інструментів є кілька браузерних рішень, і для того, щоб ними користуватися, вам не потрібно ніде реєструватися і нічого платити.
Це далеко не всі інструменти тестування, які допомагають розробникам у питаннях тестування, а лише їхня частина. Отже, варто спробувати.
9. WebSocket King
WebSocket King у чомусь схожий на PieSocket. Тут вам потрібно ввести URL-адресу WebSocket, після чого ви зможете перевірити висновок для всіх надісланих/отриманих повідомлень.
Однак він не підтримує підключення до Socket.IO, тому ви будете обмежені лише необробленими небезпечними з'єднаннями.
10. WebSocket Test
WebSocket Test – це веб-інструмент, який призначений для перевірки того, чи підтримує ваш браузер протокол.
Тестування WebSocket – це дуже важливо
За допомогою правильно підібраного інструменту тестування ви зможете забезпечити надійні, безпечні та швидкі підключення до WebSocket.
Зрозуміло, вибір інструменту залежить від вашого конкретного сценарію використання.