2017-08-05 8 views
6

मैं एक वास्तविक समय गेम बनाना चाहता हूं, मैं नोडजेएस-सॉकेटियो या आईओएचटीपी का उपयोग करना चाहता था, जब तक मैं django-channel से मुलाकात नहीं करता, तब मैंने इसका दस्तावेज पढ़ा।क्या डीजेंगो-चैनल वास्तविक समय गेम के लिए उपयुक्त है?

  1. है Django चैनलों वास्तविक समय खेल के लिए उपयुक्त:

    यह एक अच्छा मॉड्यूल

    प्रश्न है?

  2. क्या django-channel को aiohttp/nodejs-socketio पर लाभ होता है?
  3. क्या यह सभी क्लाइंट (एंड्रॉइड, आईओएस, डेस्कटॉप) के लिए उपयुक्त है?

उत्तर

2

आरंभ करने के लिए, चैनल एक असीमित कार्य कतार के अलावा कुछ भी नहीं है। यह अजवाइन के समान है, प्रदर्शन & विश्वसनीयता में प्रमुख अंतर है। चैनल अजवाइन से तेज है लेकिन अजवाइन अधिक विश्वसनीय है। इसमें अधिक संदर्भ जोड़ने के लिए, चैनल केवल एक बार कार्य निष्पादित करता है (भले ही यह विफल हो या सफल हो)। दूसरी ओर, अजवाइन कार्य को तब तक निष्पादित करता है जब तक कि कार्य निश्चित समय में विफल न हों या यह सफल हो जाए।

अब, इस उदाहरण को लेकर & आपके प्रश्नों पर आ रहा है।

मान लीजिए आप कुलों चैनलों & वेब सॉकेट का उपयोग करने का टकराव का निर्माण करने के लिए गए थे।

1)हाँ, चैनलों जब तक आप जहां async कतार में कार्य विफल रहता है स्थितियों के लिए कस्टम तर्क लिखने के रूप में वास्तविक समय खेल के लिए उपयुक्त है।

वेब-सॉकेट & चैनलों के माध्यम से संदेश प्राप्त करेंगे। इसलिए, यदि युद्धक्षेत्र पर एक सेना को तैनात करने के खिलाड़ियों में से एक अनुरोध सर्वर पर सफलतापूर्वक भेजा नहीं जाता है, तो आपको इस स्थिति को संभालने के लिए कस्टम तर्क लिखना होगा (जैसे इसे कम से कम 3 बार पहले से अनुरोध करना कार्य कतार)।

2) वास्तव में नहीं। वे काफी समान हैं। आखिरकार आपको वेब-सॉकेट & एक कतार का उपयोग करना होगा जहां आप एक साथ संदेशों को आग/प्राप्त कर सकते हैं।

3) हां, आपको अपने एप्लिकेशन (एंड्रॉइड, आईओएस, डेस्कटॉप) में एक वेब-सॉकेट लागू करना होगा जो चैनलों के माध्यम से बैकएंड से संदेश भेज/प्राप्त करेगा।

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