यूडीपी के साथ जावास्क्रिप्ट वेबस्केट्स?


80

मैं एक जावास्क्रिप्ट एप्लिकेशन लिख रहा हूं जिसमें अन्य उपयोगकर्ताओं से भारी मात्रा में डेटा प्राप्त करना है। यह महत्वपूर्ण नहीं है अगर इस डेटा में से कुछ खो जाता है। क्या टीसीपी के बजाय यूडीपी के साथ जावास्क्रिप्ट वेबस्केट्स का उपयोग करने का कोई तरीका है?


1
यह webRTC पर किया जा सकता है। geckosio.github.io गेम सर्वर इस तकनीक का उपयोग करता है।
Fost

जवाबों:


52

नहीं, जावास्क्रिप्ट के भीतर यूडीपी संचार होना संभव नहीं है। माफ़ करना।


2
@TimeMachine वे TCP के शीर्ष पर निर्मित WebSockets नहीं करेंगे, प्रारंभिक हैंडशेक भी बनाया गया है ताकि इसे वेब सर्वर द्वारा HTTP अपग्रेड अनुरोध के रूप में पहचाना जाए। आप नवीनतम ड्राफ्ट में प्रोटोकॉल के बारे में अधिक पढ़ सकते हैं: tools.ietf.org/html/draft-abarth-thewebsocketprotocol-00
Ivo Wetzel

3
@IvoWetzel इसका मतलब यह क्यों है कि वे नहीं करेंगे? मैं UDP Websockets को सुरक्षित रूप से लागू करने के कई तरीकों के बारे में सोच सकता हूं।
टिम्मम्म

35
उत्तर अभी अप-टू-डेट नहीं है: WebRTC webrtc.org ब्राउज़र में यूडीपी (प्रयोगात्मक) प्रदान करता है और नोडज सर्वर पर यूडीपी सॉकेट्स का उपयोग कर सकता है।
मिरको

यहाँ गेमिंग के संबंध में [इस मुद्दे की चर्चा] [१] है। वहाँ उन्होंने वेबसोकेट, वीब्रेट (यूडीपी के लिए एक संभावित विकल्प, लेकिन जटिल), क्विक (केवल Google क्रोम में), और उनके [netcode.io] [2] को कवर किया। [१]: gafferongames.com/post/… [२]: github.com/RedpointGames/netcode.io-browser
डायगन

UDP / Datagram सॉकेट का कनेक्शन नोड के साथ है। js! Dgram मॉड्यूल UDP डेटाग्राम सॉकेट्स का कार्यान्वयन प्रदान करता है।
डर्क जान स्पिलमैन

57

ऐसा लगता है कि आप वेबआरटीसी का इंतजार कर रहे हैं, जो मानक प्रक्रिया के माध्यम से काम कर रहा है। अन्य लोगों की तरह, WebSockets ने HTTP अपग्रेड के साथ आरंभ करने के परिणामस्वरूप TCP पर रन किया है।


4
WebRTC लगभग बहुत अच्छा लग रहा है, लेकिन जहाँ तक मैं आपको बता सकता हूँ कि आपको डेटा संचार के लिए RTCDataChannel का उपयोग करना है, और यह SCTP का उपयोग करता है जो अविश्वसनीय डिलीवरी (खेल के लिए आवश्यक) का समर्थन नहीं करता है। संपादित करें: इसे रद्द करें, यह एक अविश्वसनीय मोड का समर्थन करता है। यहाँ अच्छा लेख
टिम्म म्प

इतना ही नहीं, लेकिन यह पीयर 2 पीयर है, जो एक सत्तावादी सर्वर के लिए महान नहीं है।
NiCk न्यूमैन

11
कोई कारण नहीं है कि "साथियों" में से एक आपका सर्वर नहीं हो सकता है।
चाड


4

WebSockets प्रोटोकॉल केवल वर्तमान में परिभाषित टीसीपी से अधिक है।

यदि आप RTMFP (रियल टाइम मैसेजिंग फ्लो प्रोटोकॉल) सर्वर का उपयोग करने के इच्छुक हैं तो आप फ्लैश के साथ यूडीपी कर सकते हैं ।


1

यदि यह प्रश्न अभी भी लंबित है: मुझे JNEXT नामक एक परियोजना मिली और UDP का उपयोग करके एक उदाहरण है। यह परियोजना अपने आप रुकी हुई लगती है लेकिन कम से कम फ़ायरफ़ॉक्स में यह काम करती है (यह क्रोम और ओपेरा के साथ काम नहीं करती है)। हो सकता है कि यह देखने लायक हो।


3
अगर मैं चाहता हूँ कि उपयोगकर्ता सॉफ़्टवेयर स्थापित करे, तो मैं और भी बेहतर उपयोग कर सकता था Flash।

फ्लैश आपको यूडीपी नहीं देता है।
ब्रायन डायकास

-4

मुझे लगता है कि आप सिल्वरलीहट 4 प्रौद्योगिकी का लाभ उठा सकते हैं। आप सर्वर के साथ संवाद करने के लिए एक सिल्वरलाइट 4 एप्लिकेशन बना सकते हैं और फिर इसे html पेज पर ले जा सकते हैं। तब आपका जावास्क्रिप्ट सिल्वरलाइट 4 एप्लिकेशन के माध्यम से टीसीपी कनेक्शन का निर्माण कर सकता है!


मुझे लगता है कि यह एक वेब ऐप के लिए बहुत कठिन है जिसका उपयोग केवल मैक और आईफोन डेवलपर्स द्वारा किया जाना है। ^ ^ '

2
इसके अलावा, सिल्वरलाइट "वास्तविक" यूडीपी का समर्थन नहीं करता है, केवल मल्टीकास्ट यूडीपी है और यह केवल लैन पर काम करता है।
मार्टिन Martinरडिंग-थॉमसन

2
सवाल UDP के लिए नहीं टीसीपी है
markmnl

-9

आप टीसीपी / यूडीपी के बीच प्रॉक्सी / ब्रिज के रूप में काम करने के लिए एक वेबसॉकेट सर्वर लिख सकते हैं।


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