SockJS क्या है?

SockJS एक ओपन-सोर्स JavaScript लाइब्रेरी है जो WebSocket-जैसा API प्रदान करती है और जब WebSocket उपलब्ध नहीं होता है तो पारदर्शी रूप से वैकल्पिक ट्रांसपोर्ट पर वापस गिरती है। इसे उन वातावरणों के लिए डिज़ाइन किया गया था जहां WebSocket कनेक्शन ब्लॉक किए जाते हैं — उदाहरण के लिए, कॉर्पोरेट फायरवॉल, पुराने ब्राउज़र, या लोड बैलेंसर जो कनेक्शन अपग्रेड का समर्थन नहीं करते। SockJS स्वचालित रूप से सर्वोत्तम उपलब्ध ट्रांसपोर्ट पर बातचीत करता है, WebSocket, HTTP स्ट्रीमिंग, HTTP लॉन्ग-पोलिंग और कई अन्य तंत्रों में से चुनता है।

SockJS को एक संगत सर्वर-साइड लाइब्रेरी की आवश्यकता होती है (जैसे SockJS-Node या Spring का SockJS समर्थन) और यह अपना स्वयं का सबप्रोटोकॉल बोलता है, इसलिए यह एक सादे WebSocket एंडपॉइंट से कनेक्ट नहीं कर सकता।

टूल विवरण

यह टूल एक ब्राउज़र-आधारित SockJS क्लाइंट प्रदान करता है। एक SockJS सर्वर एंडपॉइंट का URL दर्ज करें, कनेक्ट करें, टेक्स्ट संदेश लिखें, और एक टाइमस्टैम्प किए गए संदेश लॉग में सभी ट्रैफिक देखें। सक्रिय ट्रांसपोर्ट नाम (जैसे websocket, xhr-streaming, xhr-polling) रीयल-टाइम में प्रदर्शित होता है ताकि आप देख सकें कि लाइब्रेरी ने कौन सा फॉलबैक तंत्र चुना है।

विशेषताएं

  • स्वचालित ट्रांसपोर्ट बातचीत — सर्वोत्तम उपलब्ध ट्रांसपोर्ट के साथ कनेक्ट करता है और दिखाता है कि कौन सा चुना गया था।
  • लाइव संदेश लॉग — सभी आने वाले संदेश और कनेक्शन इवेंट आसान निरीक्षण के लिए टाइमस्टैम्प के साथ कैप्चर किए जाते हैं।
  • टेक्स्ट और JSON मोड — पेलोड को सादे टेक्स्ट या संरचित JSON के रूप में सिंटैक्स हाइलाइटिंग और सत्यापन के साथ लिखें।

विकल्प समझाया गया

सर्वर URL — SockJS एंडपॉइंट का HTTP(S) URL (जैसे https://example.com/sockjs)। /websocket या किसी ट्रांसपोर्ट सफिक्स को जोड़ें नहीं; SockJS पथ बातचीत को आंतरिक रूप से संभालता है।

ट्रांसपोर्ट — कनेक्शन खुलने के बाद आउटपुट क्षेत्र में प्रदर्शित होता है। सामान्य मान में websocket (प्रत्यक्ष अपग्रेड सफल), xhr-streaming (XHR पर स्ट्रीमिंग), और xhr-polling (पारंपरिक लॉन्ग-पोल) शामिल हैं। यह फील्ड तब तक खाली रहता है जब तक कनेक्शन स्थापित नहीं हो जाता।

डेटा प्रकारटेक्स्ट और JSON संरचना मोड के बीच स्विच करें। JSON मोड भेजने से पहले पेलोड को सत्यापित करता है।

ऑटो-स्क्रॉल — संदेश लॉग को सबसे हाल की प्रविष्टि पर पिन रखता है।

यह कैसे काम करता है

क्लाइंट लक्ष्य सर्वर के लिए एक कनेक्शन खोलने के लिए SockJS JavaScript लाइब्रेरी का उपयोग करता है। SockJS सर्वर को यह खोजने के लिए एक सूचना अनुरोध करता है कि कौन से ट्रांसपोर्ट समर्थित हैं, फिर सर्वोत्तम विकल्प पर बातचीत करता है। एक बार कनेक्ट होने के बाद, टूल SockJS send विधि के माध्यम से सभी आउटगोइंग संदेशों को रिले करता है और सर्वर द्वारा लौटाए गए प्रत्येक onmessage इवेंट को लॉग करता है।

सुझाव

  • SockJS सर्वर आमतौर पर अपने एंडपॉइंट को /sockjs या /ws जैसे पथ पर उजागर करते हैं। सही बेस URL के लिए सर्वर दस्तावेज़ की जांच करें।
  • यदि ट्रांसपोर्ट websocket के बजाय xhr-polling दिखाता है, तो सर्वर या प्रॉक्सी WebSocket अपग्रेड को ब्लॉक कर सकता है।
  • SockJS सादे WebSocket एंडपॉइंट के साथ संगत नहीं है। मानक WebSocket सर्वर के लिए WebSocket टेस्ट क्लाइंट का उपयोग करें।