कल्पना कीजिए कि मैं एक वास्तविक समय मल्टीप्लेयर गेम बनाना चाहता हूं, जिसमें HTML5 (क्लाइंट) और node.js (सर्वर) है।वेबआरटीसी सही है? (रीयलटाइम मल्टीप्लेयर गेम)
मुझे सर्वर से सर्वर तक डेटा को तेज़ी से परिवहन करने की आवश्यकता है और इसके विपरीत।
मूल अनुप्रयोग में मैं UDP
का उपयोग अधिकांश डेटा (प्लेयर स्थिति, ...) के लिए करता हूं, क्योंकि यह TCP
से तेज़ तरीका है और यह खो जाने पर यह अनैतिक है।
HTML5
में मैं केवल (केवल) WebSockets
का उपयोग कर सकता हूं। वेबसाकेट टीसीपी के शीर्ष पर है और इस प्रकार अच्छे प्रदर्शन के लिए पर्याप्त तेज़ नहीं है।
मैंने WebRTC
के बारे में सुना, लेकिन मुझे नहीं पता कि यह इस समस्या का समाधान हो सकता है या नहीं।
क्या किसी के साथ इसका अनुभव है?
(मुझे पता है, जिसमें WebRTC अभी भी सबसे ब्राउज़र का समर्थन नहीं है, लेकिन यह मेरे लिए कोई फर्क नहीं पड़ता।)
क्या आप सुनिश्चित हैं कि आपके उपयोग के मामले में websockets बहुत धीमे हैं? एक टीसीपी सॉकेट आपके वेबसाकेट सत्र की अवधि के लिए खुला रहता है, इसलिए आपको प्रत्येक संदेश के कनेक्शन के ओवरहेड के बारे में चिंता करने की ज़रूरत नहीं है। – simonc
टीसीपी: संदेशों की विश्वसनीय वितरण; सभी डेटा को स्वीकार किया जाता है सभी डेटा की डिलीवरी प्रबंधित की जाती है, और खोया डेटा स्वचालित रूप से पुनः प्रेषित किया जाता है। यूडीपी: स्वीकार्य बिना अविश्वसनीय, सर्वोत्तम प्रयास डिलीवरी तो इस उपयोग के मामले में टीसीपी बस गलत तकनीक है। – appsthatmatter
वेबस्केट्स का उपयोग करके इसे कार्यान्वित करने का प्रयास करें और यह देखने के लिए उपाय करें कि यह वास्तव में बहुत धीमा है (कहने की जरूरत नहीं है, अपने परिवहन कार्यान्वयन को अमूर्त करें ताकि यदि वेबसाकेट असंतोषजनक हो जाए, तो आप बहुत सारे कोड को स्क्रैप किए बिना कुछ और उपयोग कर सकते हैं)। अभी आप समय से अनुकूलन कर रहे हैं। – ebohlman