जावास्क्रिप्ट \ HTML में सॉकेट्स का उपयोग कैसे करें? [बन्द है]


82

जावास्क्रिप्ट \ HTML में सॉकेट्स का उपयोग कैसे करें?

कुछ शांत HTML5 का उपयोग कर सकते हैं?

पुस्तकालय? ट्यूटोरियल? ब्लॉग लेख?


1
तुम क्या करने की कोशिश कर रहे हो? आप किस ब्राउज़र का समर्थन करना चाहते हैं?
जेम्स ब्लैक

मुझे लगता है कि आप वेब सॉकेट्स का
उल्लेख

क्या आपका मतलब टीसीपी सॉकेट है?
एलिकएल्ज़िन-किलाका

जवाबों:


57

विशेष विवरण:

आलेख:

ट्यूटोरियल:

पुस्तकालय:


1
अपडेट: bobinceइस पृष्ठ पर एक सरल ट्यूटोरियल प्रदान किया गया: पी
ओकेव 15'09

3
हां, वह उपयोगकर्ता संभवतः काज़िंग का अपना जोनास जैकोबी होगा। अक्सर कहीं भी WebSocket का उल्लेख किया जाता है! मैं काज़िंग टीबीएच प्राप्त नहीं करता, जो वेबसोकेट पर बैठा है। यह प्रचारित करने के लिए कि क्या एक अखंड-वास्तव में मुफ्त क्लाइंट-एंड-सॉल्यूशन प्रतीत होता है, जिसमें वैबसाइट का समर्थन होता है, जैसा कि प्रतीत होता है कि यह वास्तव में काफी छोटा हिस्सा है। मुझे नहीं पता, यह एक अच्छा समाधान हो सकता है, लेकिन मैं वास्तव में पूरी तरह से विपणन के साथ सहज नहीं हूं। [संपादित किया गया, इसलिए okw के उत्तर के बाद]
बॉब

78

जावास्क्रिप्ट / HTML में सॉकेट्स का उपयोग कैसे करें?

जेएस या एचटीएमएल में सामान्य प्रयोजन के सॉकेट का उपयोग करने की कोई सुविधा नहीं है। यह एक के लिए एक सुरक्षा आपदा होगी।

HTML5 में WebSocket है। ग्राहक पक्ष काफी तुच्छ है:

socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
    socket.send('hello');
};
socket.onmessage= function(s) {
    alert('got reply '+s);
};

आपको कनेक्शन लेने और उनके साथ कुछ करने के लिए सर्वर-साइड पर एक विशेष सॉकेट एप्लिकेशन की आवश्यकता होगी; यह कुछ ऐसा नहीं है जो आप आमतौर पर वेब सर्वर की स्क्रिप्टिंग इंटरफ़ेस से कर रहे होंगे। हालाँकि यह एक अपेक्षाकृत सरल प्रोटोकॉल है ; मेरे नोडी पायथन सॉकेटसर्वर-आधारित समापन बिंदु कोड के कुछ ही पृष्ठ थे।

किसी भी मामले में, यह वास्तव में मौजूद नहीं है, फिर भी। न तो जावास्क्रिप्ट-साइड कल्पना और न ही नेटवर्क ट्रांसपोर्ट कल्पना को किसी ने भी नीचे नहीं रखा है, और न ही कोई ब्राउज़र इसका समर्थन करता है।

हालाँकि, आप तब तक फ़्लैश का उपयोग कर सकते हैं, जहाँ आपकी स्क्रिप्ट उपलब्ध कराने के लिए उपलब्ध है, जब तक कि WebSocket व्यापक रूप से उपलब्ध न हो। जिमीट का वेब-सॉकेट-जेएस ऐसा ही एक मुक्त उदाहरण है। हालाँकि, आप तब फ्लैश सॉकेट्स के समान सीमाओं के अधीन होते हैं, अर्थात् आपके सर्वर को सॉकेट पोर्ट के अनुरोध पर एक क्रॉस-डोमेन पॉलिसी को थूकने में सक्षम होना पड़ता है, और आपको अक्सर प्रॉक्सी / फायरवॉल के साथ कठिनाइयां होती हैं। (फ्लैश सॉकेट सीधे किए जाते हैं; बिना किसी प्रत्यक्ष सार्वजनिक आईपी एक्सेस के कोई व्यक्ति जो केवल एक HTTP प्रॉक्सी के माध्यम से नेटवर्क से बाहर निकल सकता है, वे काम करेंगे।)

जब तक आपको वास्तव में कम-विलंबता दो-तरफ़ा संचार की आवश्यकता नहीं होती, तब तक आप XMLHttpRequestअभी के लिए चिपके रहना बेहतर समझते हैं।


किस प्रकार के WS बाइंडिंग html5 का समर्थन करेंगे?
राला

यदि आपका मतलब है कि वेबसॉकेट ऑब्जेक्ट ब्राउज़र में कैसा दिखता है, तो यह अभी भी देखा जाना बाकी है, लेकिन हाल ही में कल्पना ( w3.org/TR/websockets ) बहुत कुछ नहीं बदला है। यदि WS बाइंडिंग द्वारा आप वेब सेवाओं के बारे में बात कर रहे हैं, तो कोई नहीं: WebSocket SOAP या किसी अन्य पूर्व-प्रचलित प्रोटोकॉल से बात नहीं करेगा।
बोबिन्स

1
आप कहते हैं "जेएस या एचटीएमएल में सामान्य प्रयोजन के सॉकेट का उपयोग करने की कोई सुविधा नहीं है। यह एक के लिए एक सुरक्षा आपदा होगी।" लेकिन फोनगैप या फोनगैप संबंधित अनुप्रयोगों के बारे में क्या? HTML + js की जरूरत नहीं है बस के लिए standart ब्राउज़र।
ओबहान जहान

46

मुझे लगता है कि यह उल्लेख करना महत्वपूर्ण है, अब यह प्रश्न 1 वर्ष से अधिक पुराना है, कि सॉकेट.आईओ तब से बाहर आया है और लगता है कि अब ब्राउज़र में सॉकेट्स के साथ काम करने का प्राथमिक तरीका है; जहाँ तक मुझे पता है यह Node.js के साथ भी संगत है।


13
ठीक है। लगभग 6 साल हो गए। क्या मानक बदल गए हैं?
हारून एसाव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.