क्लाइंट से सर्वर और इसके विपरीत डेटा स्थानांतरित करने के लिए विभिन्न प्रोटोकॉल का उपयोग किया जाता है। उनके नियम प्रासंगिक मानकों में वर्णित हैं। इस लेख में, हम एक डेटा ट्रांसफर प्रोटोकॉल - वेबसाकेट्स पर चर्चा करेंगे।
वेबसॉकेट प्रोटोकॉल क्या है?
WebSocket क्लाइंट और सर्वर (ब्राउज़र और सर्वर) के बीच संबंध बनाने और वास्तविक समय में उनके बीच संचार को सक्षम करने के लिए एक उन्नत तकनीक है। WebSocket के साथ मुख्य अंतर यह है कि यह आपको एक अलग अनुरोध भेजे बिना डेटा प्राप्त करने की अनुमति देता है, उदाहरण के लिए, HTTP में होता है। कनेक्शन स्थापित होने के बाद, अनुरोध भेजने की आवश्यकता के बिना डेटा अपने आप आ जाएगा। चैट या स्टॉक रिपोर्ट में वेबसॉकेट प्रोटोकॉल का उपयोग करने का यह लाभ है, जहां आपको लगातार अद्यतन जानकारी प्राप्त करने की आवश्यकता होती है। प्रोटोकॉल एक साथ सूचना प्राप्त कर सकता है और भेज सकता है, जिससे पूर्ण-द्वैध द्विदिश संचार की अनुमति मिलती है, जिसके परिणामस्वरूप तेजी से सूचना का आदान-प्रदान होता है।
वेबसाकेट कैसे काम करता है?
क्लाइंट और सर्वर के बीच कनेक्शन तब तक खुला रहता है जब तक कि इसे किसी एक पक्ष द्वारा समाप्त नहीं किया जाता है या टाइमआउट द्वारा बंद नहीं किया जाता है। वे क्लाइंट और सर्वर के बीच संबंध स्थापित करने के लिए हैंडशेक करते हैं। एक स्थापित कनेक्शन खुला रहता है, और क्लाइंट या सर्वर-साइड पर कनेक्शन समाप्त होने तक उसी चैनल का उपयोग करके संचार किया जाता है। संदेशों का आदान-प्रदान द्विदिश रूप से किया जाता है। WebSocket आपको प्रेषित डेटा को एन्क्रिप्ट करने की अनुमति देता है। इसके लिए, WSS प्रोटोकॉल पर एक ऐड-ऑन का उपयोग किया जाता है, जो प्रेषक के पक्ष में डेटा को एन्कोड करता है और प्राप्तकर्ता के पक्ष में इसे डीकोड करता है। किसी भी बिचौलियों के लिए, जानकारी एन्क्रिप्टेड रहती है। एन्क्रिप्शन के बिना, डेटा खतरों का लक्ष्य बन जाता है।
वेबसॉकेट का उपयोग कब करें?
वेबसॉकेट प्रोटोकॉल आदर्श है जब आपको रीयल-टाइम डेटा अपडेट और क्लाइंट को संदेश भेजने की क्षमता की आवश्यकता होती है। वेब सॉकेट के लिए कुछ अधिक व्यापक उपयोग के मामले यहां दिए गए हैं:
- एक्सचेंज प्लेटफॉर्म;
- गेमिंग एप्लिकेशन;
- चैटबॉट;
- सूचनाएं भेजना;
- सामाजिक नेटवर्क;
- चैट एप्लिकेशन;
- आईओटी अनुप्रयोग।
WebSocket प्रोटोकॉल का उपयोग करने पर विचार क्यों करें?
WebSocket सर्वर और क्लाइंट के बीच कनेक्शन प्रदान करके रीयल-टाइम अपडेट प्रदान करता है। वेब सॉकेट HTML5 संगत हैं और पुराने HTML संस्करणों के साथ पश्चगामी संगतता प्रदान करते हैं। इसलिए, वे सभी आधुनिक वेब ब्राउज़रों द्वारा समर्थित हैं - Google क्रोम, मोज़िला फ़ायरफ़ॉक्स, सफारी, और अन्य। यह सभी प्लेटफार्मों पर भी संगत है: एंड्रॉइड, आईओएस, वेब ऐप और डेस्कटॉप ऐप। एक एकल सर्वर में एक साथ कई वेबसॉकेट कनेक्शन खुल सकते हैं और एक ही क्लाइंट से कई कनेक्शन भी हो सकते हैं, जिससे आसान स्केलिंग की अनुमति मिलती है।
AppMaster.io में वेबसाकेट कैसे बनाएं?
आइए एक साधारण चैटबॉट उदाहरण का उपयोग करके AppMaster.io में एक WebSocket बनाएं। वेबसॉकेट बनाने के लिए, आपको एप्लिकेशन बैकएंड में एक व्यावसायिक प्रक्रिया बनाने की आवश्यकता है जो उपयोगकर्ता संदेशों का जवाब देगी और प्रतिक्रियाएं भेजेगी: बैकएंड> बिजनेस प्रोसेस।
व्यावसायिक प्रक्रिया एक संदेश प्राप्त करती है और सामग्री के आधार पर प्रतिक्रिया में एक स्ट्रिंग लौटाती है।
यदि संदेश = "नमस्ते!", तो प्रतिक्रिया "हैलो!" कह रही होगी;
यदि संदेश = "आप कैसे कर रहे हैं?", तो बीपी "ग्रेट! हाउ अबाउट यू?";
किसी भी अन्य मामले में, बीपी एक प्रतिध्वनि के रूप में काम करेगा और प्रतिक्रिया में इनपुट पर प्राप्त उसी स्ट्रिंग को वापस कर देगा।
फिर, आपको इस बीपी के लिए बॉट के साथ संचार करने के लिए एक वेबसॉकेट एंडपॉइंट बनाने की आवश्यकता है: बैकएंड> एंडपॉइंट्स> न्यू एंडपॉइंट> वेबसॉकेट एंडपॉइंट ।
नई खुली हुई विंडो में, निम्नलिखित फ़ील्ड भरें:
- समापन बिंदु प्रकार: GET
- समापन बिंदु URL: वह पता जिस पर समापन बिंदु को बाहर से एक्सेस किया जाएगा;
- व्यावसायिक प्रक्रिया: BP को इंगित करता है जो इस WS समापन बिंदु पर कार्य करेगा;
समापन बिंदु सेट करने के बाद, आपको इसका उपयोग करने के लिए एप्लिकेशन को प्रकाशित करना होगा।
आप पोस्टमैन ऐप वेबसॉकेट का परीक्षण कर सकते हैं। यहां पोस्टमैन का उपयोग करने के तरीके के बारे में विस्तृत निर्देश प्राप्त करें । पोस्टमैन में प्राधिकरण के बाद, आपको एक नया वेबसॉकेट अनुरोध बनाने की आवश्यकता है: नया> वेबसॉकेट अनुरोध।
पूरा वेबसॉकेट पता दर्ज करें। आप इसे स्वैगर ( पूर्वावलोकन> विकास ) में बनाए गए समापन बिंदु पर एक खाली अनुरोध भेजकर प्राप्त कर सकते हैं। पूरा पता अनुरोध URL ब्लॉक में पाया जा सकता है।
इसे कॉपी करने और पोस्टमैन में उपयुक्त फ़ील्ड में पेस्ट करने के बाद, आपको https को wss से बदलना होगा क्योंकि इस प्रोटोकॉल का उपयोग सर्वर के साथ संचार करने के लिए किया जाता है। WebSocket कनेक्शन के लिए प्राधिकरण की आवश्यकता है। ऐसा करने के लिए, आपको हेडर (हेडर) कुकी के साथ एक अनुरोध भेजने की आवश्यकता है, जिसमें एक्सेस टोकन gen_app_auth_token= शामिल है। टोकन प्राप्त करने के लिए, आपको प्राधिकरण समापन बिंदु चलाकर और अपना उपयोगकर्ता नाम और पासवर्ड पास करके अधिकृत करना होगा।
आप कुकी को मैन्युअल रूप से निम्नानुसार ढूंढ सकते हैं:
- किसी ब्राउज़र में प्रकाशित वेब एप्लिकेशन में, डेवलपर टूल पर जाने के लिए F12 दबाएं;
- नेटवर्क पर जाएं और हेडर टैब पर जाएं;
- अनुरोध शीर्षलेख अनुभाग में, कुकी ढूंढें और मान की प्रतिलिपि बनाएँ।
पोस्टमैन में वेबसॉकेट के अनुरोध शीर्षलेख में कुकी मान जोड़कर और कनेक्ट पर क्लिक करके, आप सत्यापित कर सकते हैं कि WS से कनेक्शन सफलतापूर्वक स्थापित हो गया था।
एक सफल कनेक्शन का परिणाम नीचे दिखाया गया है:
आप नए संदेश ब्लॉक में एक संदेश भेज सकते हैं, लेकिन यह JSON-स्वरूपित होना चाहिए। यदि आप "हैलो" स्ट्रिंग भेजना चाहते हैं, तो संदेश इस तरह दिखेगा: {"message": "Hi"}। इस मामले में, कुंजी का नाम (यानी, संदेश) बीपी इनपुट पर चर के नाम से मेल खाना चाहिए।
क्वेरी निष्पादन परिणाम:
इस प्रकार AppMaster.io में WebSocket बनाया जा सकता है। हमारे सहायता केंद्र में प्लेटफ़ॉर्म पर काम के बारे में अधिक उपयोगी जानकारी देखें।