Odpowiedzi:
Narzędzia dla programistów Chrome mają teraz możliwość wyświetlania list ramek WebSocket, a także sprawdzania danych, jeśli ramki nie są binarne.
Proces:
Jeśli twoje połączenie WebSocket używa ramek binarnych, prawdopodobnie nadal będziesz chciał użyć Wireshark do debugowania połączenia. Wireshark 1.8.0 dodał obsługę sekcji i filtrowania dla WebSockets. Alternatywę można znaleźć w tej drugiej odpowiedzi .
Chrome Canary i Chromium mają teraz funkcję kontroli ramki wiadomości WebSocket. Oto kroki, aby szybko to przetestować:
Uwaga : Za każdym razem, gdy wysyłasz lub odbierasz nowe wiadomości, musisz odświeżyć panel główny, klikając pozycję echo.websocket.org po lewej stronie.
Opublikowałem również kroki ze zrzutami ekranu i wideo .
Moja niedawno opublikowana książka, The Definitive Guide to HTML5 WebSocket , zawiera również dedykowany dodatek obejmujący różne narzędzia inspekcyjne, w tym Chrome Dev Tools, Chrome net-internals i Wire Shark.
Wygląda na to, że ciągle zmieniają rzeczy w Chrome, ale oto, co teraz działa :-)
Najpierw musisz kliknąć czerwony przycisk nagrywania, inaczej nic nie dostaniesz.
Nigdy WS
wcześniej tego nie zauważyłem, ale odfiltrowuje połączenia gniazd sieciowych.
Wybierz, a następnie zobaczysz ramki, które pokażą Ci komunikaty o błędach itp.
Jeśli nie masz strony, która ma dostęp do gniazda sieciowego, możesz otworzyć konsolę Chrome i wpisać JavaScript w:
var webSocket = new WebSocket('ws://address:port');
webSocket.onmessage = function(data) { console.log(data); }
Spowoduje to otwarcie gniazda sieciowego, dzięki czemu będzie można go zobaczyć na karcie sieci i w konsoli.
Inne odpowiedzi dotyczą najczęstszego scenariusza: obejrzyj zawartość ramek (Narzędzia dla programistów -> karta Sieć -> kliknij prawym przyciskiem myszy połączenie WebSocket -> ramki).
Jeśli chcesz dowiedzieć się więcej informacji, na przykład, które gniazda są obecnie otwarte / bezczynne lub możesz je zamknąć, przekonasz się, że ten adres URL jest przydatny
chrome://net-internals/#sockets
Masz 3 opcje: Chrome (za pomocą Narzędzi dla programistów -> karta Sieć), Wireshark i Fiddler (za pomocą karty Dziennik), jednak wszystkie są bardzo proste. Jeśli masz bardzo duży ruch lub każda ramka jest bardzo duża, bardzo trudno jest je wykorzystać do debugowania.
Możesz jednak użyć narzędzia Fiddler z narzędziem FiddlerScript, aby sprawdzić ruch WebSocket w taki sam sposób, w jaki kontrolujesz ruch HTTP. Zaletą tego rozwiązania jest to, że można wykorzystać wiele innych funkcji Fiddlera, takich jak wiele inspektorów (HexView, JSON, SyntaxView), porównywać pakiety i znajdować pakiety itp.
Proszę odnieść się do mojego niedawno napisanego artykułu na CodeProject, który pokazuje, jak debugować / sprawdzać ruch WebSocket za pomocą Fiddler (z FiddlerScript). http://www.codeproject.com/Articles/718660/Debug-Inspect-WebSocket-traffic-with-Fiddler
Właśnie to publikuję, ponieważ Chrome dużo się zmienia i żadna z odpowiedzi nie była dość aktualna.
Krótka odpowiedź dla Chrome w wersji 29 i nowszych:
Użyłem rozszerzenia Chrome o nazwie Simple WebSocket Client v0.1.3, które zostało opublikowane przez użytkownika hakobera. Jest bardzo prosty w użyciu, ponieważ umożliwia otwieranie gniazd sieciowych pod danym adresem URL, wysyłanie wiadomości i zamykanie połączenia gniazdowego. To jest bardzo minimalistyczne.