एचटीएमएल 5 - वेबसॉकेट

WebSockets वेब अनुप्रयोगों के लिए एक अगली पीढ़ी की द्विदिश संचार तकनीक है जो एकल सॉकेट पर काम करती है और HTML 5 अनुरूप ब्राउज़रों में जावास्क्रिप्ट इंटरफ़ेस के माध्यम से उजागर होती है।

एक बार जब आप वेब सर्वर के साथ एक वेब सॉकेट कनेक्शन प्राप्त करते हैं, तो आप कॉल करके ब्राउज़र से सर्वर पर डेटा भेज सकते हैं send() विधि, और एक से सर्वर से ब्राउज़र के लिए डेटा प्राप्त करते हैं onmessage आयोजन प्रबंधकर्ता।

निम्नलिखित API है जो एक नया WebSocket ऑब्जेक्ट बनाता है।

var Socket = new WebSocket(url, [protocal] );

यहां पहला तर्क, यूआरएल, जो निर्दिष्ट करने के लिए URL निर्दिष्ट करता है। दूसरी विशेषता, प्रोटोकॉल वैकल्पिक है, और यदि मौजूद है, तो एक उप-प्रोटोकॉल निर्दिष्ट करता है जो सर्वर को कनेक्शन के सफल होने के लिए समर्थन करना चाहिए।

WebSocket विशेषताएँ

निम्नलिखित WebSocket ऑब्जेक्ट की विशेषता है। ऊपर बताए अनुसार हमने सॉकेट ऑब्जेक्ट बनाया है -

अनु क्रमांक। विशेषता और विवरण
1

Socket.readyState

आसानी से तैयार होने वाली विशेषता कनेक्शन की स्थिति का प्रतिनिधित्व करती है। इसके निम्न मूल्य हो सकते हैं -

  • 0 का मान इंगित करता है कि कनेक्शन अभी तक स्थापित नहीं हुआ है।

  • 1 का मान इंगित करता है कि कनेक्शन स्थापित है और संचार संभव है।

  • 2 का मान इंगित करता है कि कनेक्शन बंद हैंडशेक के माध्यम से जा रहा है।

  • 3 का मान इंगित करता है कि कनेक्शन बंद कर दिया गया है या खोला नहीं जा सकता है।

2

Socket.bufferedAmount

आसानी से बफ़र की गई विशेषता बफ़र यूएमएफ -8 पाठ के बाइट्स की संख्या का प्रतिनिधित्व करती है जिन्हें भेजने () विधि का उपयोग करके कतारबद्ध किया गया है।

WebSocket घटनाएँ

WebSocket ऑब्जेक्ट से जुड़ी घटनाएं निम्नलिखित हैं। ऊपर बताए अनुसार हमने सॉकेट ऑब्जेक्ट बनाया है -

प्रतिस्पर्धा आयोजन प्रबंधकर्ता विवरण
खुला हुआ Socket.onopen यह घटना तब होती है जब सॉकेट कनेक्शन स्थापित होता है।
संदेश Socket.onmessage यह घटना तब होती है जब क्लाइंट सर्वर से डेटा प्राप्त करता है।
त्रुटि Socket.onerror यह घटना तब होती है जब संचार में कोई त्रुटि होती है।
बंद करे Socket.onclose यह घटना तब होती है जब कनेक्शन बंद हो जाता है।

WebSocket तरीके

WebSocket ऑब्जेक्ट से जुड़े तरीके निम्नलिखित हैं। ऊपर बताए अनुसार हमने सॉकेट ऑब्जेक्ट बनाया है -

अनु क्रमांक। विधि और विवरण
1

Socket.send()

भेजने (डेटा) पद्धति कनेक्शन का उपयोग करके डेटा प्रसारित करती है।

2

Socket.close()

किसी भी मौजूदा कनेक्शन को समाप्त करने के लिए करीब () विधि का उपयोग किया जाएगा।

WebSocket उदाहरण

एक WebSocket क्लाइंट और सर्वर के बीच एक मानक द्विदिश टीसीपी सॉकेट है। सॉकेट एक HTTP कनेक्शन के रूप में शुरू होता है और फिर HTTP हैंडशेक के बाद टीसीपी सॉकेट में "अपग्रेड" होता है। हैंडशेक के बाद, दोनों तरफ डेटा भेज सकते हैं।

क्लाइंट साइड HTML और जावास्क्रिप्ट कोड

इस ट्यूटोरियल को लिखने के समय, केवल कुछ ही वेब ब्राउज़र हैं जो WebSocket () इंटरफ़ेस का समर्थन करते हैं। आप क्रोम, मोज़िला, ओपेरा और सफारी के नवीनतम संस्करण के साथ निम्नलिखित उदाहरण की कोशिश कर सकते हैं।

<!DOCTYPE HTML>

<html>
   <head>
      
      <script type = "text/javascript">
         function WebSocketTest() {
            
            if ("WebSocket" in window) {
               alert("WebSocket is supported by your Browser!");
               
               // Let us open a web socket
               var ws = new WebSocket("ws://localhost:9998/echo");
				
               ws.onopen = function() {
                  
                  // Web Socket is connected, send data using send()
                  ws.send("Message to send");
                  alert("Message is sent...");
               };
				
               ws.onmessage = function (evt) { 
                  var received_msg = evt.data;
                  alert("Message is received...");
               };
				
               ws.onclose = function() { 
                  
                  // websocket is closed.
                  alert("Connection is closed..."); 
               };
            } else {
              
               // The browser doesn't support WebSocket
               alert("WebSocket NOT supported by your Browser!");
            }
         }
      </script>
		
   </head>
   
   <body>
      <div id = "sse">
         <a href = "javascript:WebSocketTest()">Run WebSocket</a>
      </div>
      
   </body>
</html>

Pywebsocket इंस्टॉल करें

क्लाइंट प्रोग्राम के ऊपर परीक्षण करने से पहले, आपको एक सर्वर की आवश्यकता होती है जो WebSocket का समर्थन करता है। से डाउनलोड mod_pywebsocket-xxxtar.gz pywebsocket जो अपाचे HTTP सर्वर के लिए एक वेब सॉकेट विस्तार प्रदान करते हैं और इन चरणों का पालन इसे स्थापित करना है।

  • डाउनलोड की गई फ़ाइल को खोलना और खोलना।

  • अंदर जाओ pywebsocket-x.x.x/src/ निर्देशिका।

  • $ python setup.py बिल्ड

  • $ sudo python setup.py स्थापित

  • इसके बाद दस्तावेज़ पढ़ें -

    • $ pydoc mod_pywebsocket

यह आपके अजगर पर्यावरण में स्थापित करेगा।

सर्वर प्रारंभ करें

के पास जाओ pywebsocket-x.x.x/src/mod_pywebsocket फ़ोल्डर और निम्न कमांड चलाएँ -

$sudo python standalone.py -p 9998 -w ../example/

यह पोर्ट 9998 पर सुनने वाले सर्वर को शुरू करेगा और उपयोग करेगा handlers -w विकल्प द्वारा निर्दिष्ट निर्देशिका जहां हमारा echo_wsh.py रहता है।

अब क्रोम ब्राउज़र का उपयोग करके शुरुआत में आपके द्वारा बनाई गई HTML फ़ाइल खोलें। यदि आपका ब्राउज़र WebSocket () का समर्थन करता है, तो आपको संकेत मिलता है कि आपका ब्राउज़र WebSocket का समर्थन करता है और अंत में जब आप "Run WebSocket" पर क्लिक करते हैं, तो आपको सर्वर स्क्रिप्ट द्वारा भेजा गया अलविदा संदेश प्राप्त होगा।