Чи є спосіб чи розширення, що дозволяє мені спостерігати за "трафіком", що проходить через WebSocket? Для налагодження я хотів би бачити клієнтські та серверні запити / відповіді.
Чи є спосіб чи розширення, що дозволяє мені спостерігати за "трафіком", що проходить через WebSocket? Для налагодження я хотів би бачити клієнтські та серверні запити / відповіді.
Відповіді:
Тепер інструменти для розробників Chrome мають можливість перелічувати кадри WebSocket, а також перевіряти дані, якщо кадри не є двійковими.
Процес:
Якщо у вашому з’єднанні WebSocket використовується двійкові кадри, ви, ймовірно, все ще хочете використовувати Wireshark для налагодження з'єднання. Wireshark 1.8.0 додав підтримку диссектора та фільтрації для WebSockets. Альтернативу можна знайти в цій іншій відповіді .
Chrome Canary та Chromium тепер мають функцію перевірки кадру повідомлень WebSocket. Ось такі кроки, щоб швидко його перевірити:
Примітка . Кожен раз, коли ви надсилаєте чи отримуєте нові повідомлення, вам потрібно буде оновити головну панель, натиснувши на запис echo.websocket.org зліва.
Я також розмістив кроки із знімками екрана та відео .
У моїй нещодавно опублікованій книзі " Поточний посібник по HTML5 WebSocket" також є спеціальний додаток, що охоплює різні інструменти огляду, включаючи інструменти для розробників Chrome, сіткові мережі Chrome та Wire Shark.
Здається, вони постійно змінюють речі в Chrome, але ось що працює зараз :-)
Спочатку потрібно натиснути на червону кнопку запису, інакше у вас нічого не вийде.
Я ніколи не помічав цього WS
раніше, але він фільтрує з'єднання з веб-розеткою.
Виберіть його, і тоді ви зможете побачити кадри, на яких відображатимуться повідомлення про помилки тощо.
Якщо у вас немає сторінки, яка має доступ до веб-розетки, ви можете відкрити консоль Chrome і ввести свій JavaScript:
var webSocket = new WebSocket('ws://address:port');
webSocket.onmessage = function(data) { console.log(data); }
Це відкриє веб-розетку, щоб ви могли бачити її на вкладці мережі та на консолі.
Інші відповіді стосуються найпоширенішого сценарію: дивіться вміст кадрів (Інструменти для розробників -> вкладка Мережа -> Клацніть правою кнопкою миші на з'єднанні веб-розетки -> кадри).
Якщо ви хочете дізнатися більше інформації, наприклад, які розетки в даний час відкриті / в режимі очікування або ви зможете їх закрити, ця URL-адреса буде корисною
chrome://net-internals/#sockets
У вас є три варіанти: Chrome (через Інструменти для розробників -> вкладка "Мережа"), Wireshark та Fiddler (через вкладку "Журнал"), але всі вони є основними. Якщо у вас дуже високий об'єм трафіку або кожен кадр дуже великий, використовувати їх для налагодження стає дуже важко.
Однак ви можете використовувати Fiddler разом із FiddlerScript для перевірки трафіку WebSocket таким же чином, як і ви очікуєте трафік HTTP. Мало переваг цього рішення полягає в тому, що ви можете використовувати багато інших функцій у Fiddler, таких як кілька інспекторів (HexView, JSON, SyntaxView), порівнювати пакети та знаходити пакети тощо.
Будь ласка, зверніться до моєї нещодавно написаної статті про CodeProject, де показано, як налагодити / перевірити трафік WebSocket за допомогою Fiddler (за допомогою FiddlerScript). http://www.codeproject.com/Articles/718660/Debug-Inspect-WebSocket-traffic-with-Fiddler
Я щойно публікую це, оскільки Chrome багато змінюється, і жодна з відповідей не була актуальною.
Коротка відповідь для версії Chrome 29 і новіших версій:
Я використовував розширення Chrome під назвою Simple WebSocket Client v0.1.3, яке публікує користувач hakobera. Він дуже простий у використанні, коли дозволяє відкривати веб-розетки за вказаною URL-адресою, надсилати повідомлення та закривати з'єднання з сокетом. Це дуже мінімалістично.