वहाँ एक रास्ता है, या एक विस्तार है, जो मुझे "ट्रैफ़िक" देखने के लिए एक WebSocket के माध्यम से जा रहा है? डिबगिंग उद्देश्यों के लिए मैं ग्राहक और सर्वर अनुरोधों / प्रतिक्रियाओं को देखना चाहूंगा।
वहाँ एक रास्ता है, या एक विस्तार है, जो मुझे "ट्रैफ़िक" देखने के लिए एक WebSocket के माध्यम से जा रहा है? डिबगिंग उद्देश्यों के लिए मैं ग्राहक और सर्वर अनुरोधों / प्रतिक्रियाओं को देखना चाहूंगा।
जवाबों:
Chrome डेवलपर टूल में अब WebSocket फ्रेम को सूचीबद्ध करने की क्षमता है और यदि फ्रेम बाइनरी नहीं हैं तो डेटा का निरीक्षण भी करते हैं।
प्रक्रिया:
यदि आपका WebSocket कनेक्शन बाइनरी फ्रेम का उपयोग करता है तो आप संभवतः कनेक्शन को डीबग करने के लिए Wireshark का उपयोग करना चाहेंगे। Wireshark 1.8.0 ने WebSockets के लिए विच्छेदक और फ़िल्टरिंग समर्थन जोड़ा। इस अन्य उत्तर में एक विकल्प मिल सकता है ।
क्रोम कैनरी और क्रोमियम में अब वेबसोकेट संदेश फ्रेम निरीक्षण सुविधा है। यहाँ इसे जल्दी से परीक्षण करने के चरण दिए गए हैं:
ध्यान दें : हर बार जब आप नए संदेश भेजते हैं या प्राप्त करते हैं, तो आपको बाईं ओर echo.websocket.org प्रविष्टि पर क्लिक करके मुख्य पैनल को ताज़ा करना होगा।
मैंने स्क्रीन शॉट्स और वीडियो के साथ कदम भी पोस्ट किए ।
मेरी हाल ही में प्रकाशित पुस्तक, द डेफिनिटिव गाइड टू एचटीएमएल 5 वेबस्केट , में क्रोम देव टूल्स, क्रोम नेट-इंटर्नल, और वायर शार्क सहित विभिन्न निरीक्षण उपकरणों को शामिल करने के लिए एक समर्पित परिशिष्ट भी है।
वे Chrome में लगातार सामान बदलते प्रतीत होते हैं, लेकिन यहाँ अभी क्या काम करता है :-)
सबसे पहले आपको लाल रिकॉर्ड बटन पर क्लिक करना होगा या आपको कुछ नहीं मिलेगा।
मैंने WS
पहले कभी इस पर ध्यान नहीं दिया लेकिन यह वेब सॉकेट कनेक्शन को फ़िल्टर करता है।
इसे चुनें और फिर आप फ़्रेम देख सकते हैं जो आपको त्रुटि संदेश आदि दिखाएगा।
यदि आपके पास एक पृष्ठ नहीं है जो वेबसैट तक पहुंच रहा है, तो आप क्रोम कंसोल खोल सकते हैं और अपना जावास्क्रिप्ट टाइप कर सकते हैं:
var webSocket = new WebSocket('ws://address:port');
webSocket.onmessage = function(data) { console.log(data); }
यह वेब सॉकेट खोल देगा ताकि आप इसे नेटवर्क टैब और कंसोल में देख सकें।
अन्य उत्तर सबसे आम परिदृश्य को कवर करते हैं: फ़्रेम की सामग्री को देखें (डेवलपर टूल -> नेटवर्क टैब -> वेबसोकेट कनेक्शन पर राइट क्लिक करें -> फ़्रेम)।
यदि आप कुछ और जानकारी जानना चाहते हैं, जैसे वर्तमान में कौन सी कुर्सियां खुली / निष्क्रिय हैं या उन्हें बंद करने में सक्षम हैं तो आपको यह यूआरएल उपयोगी लगेगा
chrome://net-internals/#sockets
आपके पास 3 विकल्प हैं: क्रोम (डेवलपर टूल के माध्यम से -> नेटवर्क टैब), विरेशर, और फिडलर (लॉग टैब के माध्यम से), हालांकि वे सभी बहुत ही बुनियादी हैं। यदि आपके पास बहुत अधिक मात्रा में ट्रैफ़िक है या प्रत्येक फ़्रेम बहुत बड़ा है, तो डीबगिंग के लिए उनका उपयोग करना बहुत मुश्किल हो जाता है।
हालाँकि आप FiddlerScript के साथ Fiddler का उपयोग उसी तरह से कर सकते हैं जैसे कि आप HTTP ट्रैफ़िक को निष्क्रिय करते हैं। इस समाधान के कुछ फायदे यह हैं कि आप फ़िडलर में कई अन्य कार्यात्मकताओं का लाभ उठा सकते हैं, जैसे कि कई इंस्पेक्टर (HexView, JSON, SyntaxView), पैकेट की तुलना करें, और पैकेट ढूंढें, आदि।
कृपया कोडप्रोजेक्ट पर मेरे हाल ही में लिखे गए लेख को देखें, जो आपको दिखाता है कि फिडलर (फिडलरस्क्रिप्ट के साथ) के साथ वेबसकेट ट्रैफ़िक को कैसे डिबग / इंस्पेक्ट करें। http://www.codeproject.com/Articles/718660/Debug-Inspect-WebSocket-traffic-with-Fiddler
मैं इसे अभी पोस्ट कर रहा हूँ क्योंकि Chrome बहुत कुछ बदल गया है, और कोई भी उत्तर अभी तक काफी नहीं था।
Chrome संस्करण 29 और उसके बाद का छोटा उत्तर:
मैंने सरल वेबस्केट क्लाइंट v0.1.3 नामक क्रोम एक्सटेंशन का उपयोग किया है जो उपयोगकर्ता हकोबेरा द्वारा प्रकाशित किया गया है। यह इसके उपयोग में बहुत सरल है, जहां यह किसी दिए गए URL पर वेबसोकेट खोलने, संदेश भेजने और सॉकेट कनेक्शन को बंद करने की अनुमति देता है। यह बहुत न्यूनतर है।