2015-12-27 11 views
12

मेरे पास एक ऐसा गेम है जिस पर मैं काम कर रहा हूं और मैंने सुना है कि वास्तविक समय के लिए यूडीपी बेहतर है। मुझे पता है कि socket.io टीसीपी का उपयोग करता है और यह सोच रहा था कि क्या इसे यूडीपी में स्विच करने का कोई तरीका है। मैंने इसे देखने की कोशिश की लेकिन केवल 2012 के बाद से पोस्ट मिलीं, जिन्होंने कहा कि यूडीपी केवल ब्राउज़र में प्रयोगात्मक है।क्या socket.io के साथ यूडीपी का उपयोग करना संभव है?

उत्तर

11

नहीं, यह संभव नहीं है।

socket.iowebSocket परिवहन का उपयोग करता है। webSocket एक टीसीपी कनेक्शन है, यूडीपी कनेक्शन नहीं। तो socket.io यूडीपी का उपयोग नहीं करता है - यह टीसीपी का उपयोग करता है।

जैसा कि मुझे पता है, नियमित एचटीएमएल पेज जावास्क्रिप्ट से सुलभ ब्राउज़र में कोई मानक यूडीपी समर्थन नहीं है।

विषय पर अन्य संदर्भ:

Why Can't I Send UDP Packets From a Browser

Reading from udp port in browser

Chrome Supports TCP and UDP Sockets

Write a chrome extension to support UDP in browser

How to send a UDP Packet with Web RTC - Javascript?

How to talk to UDP sockets with HTML5?

Reading from udp port in browser

यूडीपी कुछ परिस्थितियों जब आप पैकेट जितनी जल्दी हो सके दिया जा चाहते हैं के लिए एक वांछनीय परिवहन किया जा सकता है, लेकिन अगर यह तुरंत वितरित नहीं किया जा सकता है, तो इसे छोड़। यह गेमिंग या यहां तक ​​कि वीडियो स्ट्रीमिंग में कभी-कभी उपयोगी होता है जहां अगले पैकेट में केवल अगले अपडेट होंगे, यदि पिछला एक नहीं आया है, तो कोई बड़ा सौदा नहीं है और आप खोए हुए पैकेट को पुनः प्रेषित करने की कोशिश नहीं करेंगे। लेकिन, ब्राउज़र वेब पेज जावास्क्रिप्ट से यूडीपी प्रोटोकॉल का उपयोग करने का समर्थन नहीं करते हैं।

+0

क्यों एक और डाउनवोट? डाउनवॉटर, कृपया समझाएं। यदि आपके पास कानूनी गोमांस है, तो मैं अपना जवाब सही कर दूंगा। ब्राउज़र में Socket.io यूडीपी पर नहीं चलता है। यह बस अस्तित्व में नहीं है क्योंकि ब्राउज़र किसी भी प्रकार के यूडीपी परिवहन का समर्थन नहीं करता है। यदि आप डाउनवॉटिंग कर रहे हैं क्योंकि आप रमजान के जवाब से गुमराह हो रहे हैं, तो कृपया नीचे दिए गए टिप्पणियों को पढ़ें, क्योंकि उत्तर बहुत भ्रामक है और यह सवाल नहीं पूछ रहा है कि यह सवाल क्या है। – jfriend00

3

हालांकि प्रश्न पहले से ही उत्तर दिया गया है, मैं यह इंगित करना चाहता हूं कि यूडीपी के साथ सॉकेट.ओ को लागू करने के तरीके हैं। उदाहरण के लिए dgram वही करता है जो आप खोज रहे हैं।

This is dgram के साथ socket.io + UDP के लिए एक ट्यूटोरियल।

अद्यतन:

Alexandre Lacheze एक Node.js package कि ब्राउज़र के लिए यूडीपी लाता है विकसित की है। यह socket.io का भी समर्थन करता है। तो जवाब अब किसी भी तरह अप्रचलित है।

+1

मुझे लगता है कि आप यहां वर्णित के बारे में उलझन में हो सकते हैं। आपका पहला संदर्भ node.js पर पूरी तरह से चलता है और ब्राउज़र में नहीं चलता है। यह यूडीपी समर्थन बल्ब के लिए node.js. में नमूना कोड है। इसलिए, ब्राउज़र में यूडीपी के साथ इसका कोई लेना-देना नहीं है। आपका दूसरा संदर्भ यूडीपी-जैसे इंटरफ़ेस को अनुकरण कर रहा है, लेकिन इसे वेबसाकेट या सॉकेट.ओ ट्रांसपोर्ट (जो दोनों टीसीपी कनेक्शन हैं) पर चला रहा है। तो यह एक अनुरूपित यूडीपी इंटरफ़ेस है जो ब्राउज़र में काम करता है, लेकिन वास्तविक परिवहन टीसीपी है, यूडीपी नहीं।इसलिए, इनमें से कोई भी ब्राउज़र में वास्तविक यूडीपी प्रोटोकॉल नहीं चला रहा है। – jfriend00

+1

दूसरा उदाहरण, जब सर्वर-आधारित प्रॉक्सी के साथ उपयोग किया जाता है जो सॉकेट.io पर चल रहे इस अनुरूपित यूडीपी को वास्तविक यूडीपी में परिवर्तित करता है, तो ब्राउज़र से यूडीपी सेवा के साथ संवाद करने के लिए इस्तेमाल किया जा सकता है, लेकिन किसी को यह सोचने में मूर्ख नहीं होना चाहिए कि यह किसी कारण में ब्राउज़र में यूडीपी का उपयोग करने के कारण आम तौर पर उत्तरदायी, कम-अंतराल गेमिंग के लिए यूडीपी का उपयोग करना चाहते हैं - जैसा कि यह नहीं है। यह चालाक है और इसमें कुछ दिलचस्प उपयोग हो सकते हैं, लेकिन यह सवाल यह नहीं है कि यूडीपी पर socket.io को कैसे चलाया जाए। एफवाईआई, आपके दूसरे विकल्प में इंटरफेस का नाम 'सिमयूडीपी' है, यूडीपी अनुकरण किया गया है। – jfriend00

+0

तो संक्षेप में। आपके उत्तर में कुछ भी यूडीपी पर चल रहे सॉकेट.ओओ के कार्यान्वयन को दिखाता है ताकि आपके उत्तर का हिस्सा पूरी तरह से असमर्थित हो। और, आपका दावा है कि अलेक्जेंड्रे लचेज़ का पैकेज ब्राउज़र में यूडीपी लाता है, यह भी गलत है। यह एक नकली यूडीपी-जैसे इंटरफ़ेस लाता है जो वास्तव में ब्राउज़र पर टीसीपी पर चल रहा है। – jfriend00

संबंधित मुद्दे