वेबस्कैट और बारी आधारित गेम सर्वर के लिए लंबे मतदान के बीच अंतर


89

मैं एक iOS गेम के लिए सर्वर लिख रहा हूं। खेल आधारित है और केवल उसी समय जब सर्वर को क्लाइंट को जानकारी पुश करने की आवश्यकता होती है, प्रतिद्वंद्वी के कदम को सूचित करने के लिए।

मुझे उत्सुकता है अगर कोई भी प्रदर्शन और वेबस्कैट और लंबे मतदान का उपयोग करने के बीच कार्यान्वयन के अंतर को कम करने में आसानी कर सकता है। इसके अलावा, अगर मैंने वेबसोकेट्स का उपयोग किया है, तो क्या मुझे इसका उपयोग केवल जानकारी प्राप्त करने और बाकी सभी चीजों के लिए POST अनुरोध भेजने के लिए करना चाहिए या क्या सभी संचार वेबस्केट के माध्यम से होने चाहिए?

इसके अतिरिक्त, वेबस्केट और लंबे मतदान के बीच विचार करने के लिए अतिरिक्त कुछ भी है अगर मुझे वेब क्लाइंट बनाने में भी दिलचस्पी है?


6
नए डेटा के क्लाइंट को सूचित करने के लिए आप पुश नोटिफिकेशन का भी उपयोग कर सकते हैं। मेरा मानना ​​है कि आपके दो समाधानों की तुलना में अधिक कुशल (बैटरी वार) होना चाहिए।
pteofil

1
यदि उपयोगकर्ता अभी भी ऐप में है तो यह कैसे काम करेगा?
अम्लीय

4
जब आपको पुश सूचना भी मिलती है तो आपको ऐप में सूचित किया जाता है।
pteofil

जवाबों:


177

लंबा मतदान क्या है?

यहाँ छवि विवरण दर्ज करें पारंपरिक मतदान तकनीक की भिन्नता और एक सर्वर से एक ग्राहक को सूचना धक्का के अनुकरण की अनुमति देता है। लंबे मतदान के साथ, क्लाइंट सर्वर से एक सामान्य मतदान के लिए इसी तरह से जानकारी का अनुरोध करता है।

  • यदि सर्वर के पास क्लाइंट के लिए कोई जानकारी उपलब्ध नहीं है, तो खाली प्रतिक्रिया भेजने के बजाय, सर्वर अनुरोध रखता है और कुछ जानकारी उपलब्ध होने की प्रतीक्षा करता है।
  • एक बार जब सूचना उपलब्ध हो जाती है (या एक उपयुक्त समय समाप्त होने के बाद), तो ग्राहक को पूरी प्रतिक्रिया भेजी जाती है। क्लाइंट सामान्य रूप से सर्वर से तुरंत जानकारी का पुनः अनुरोध करेगा, ताकि सर्वर में लगभग हमेशा उपलब्ध प्रतीक्षा अनुरोध होगा जो किसी घटना के जवाब में डेटा देने के लिए उपयोग कर सकता है।

    एक वेब / AJAX संदर्भ में, लंबे मतदान को धूमकेतु प्रोग्रामिंग के रूप में भी जाना जाता है।

Websockets के बारे में क्या?

यहाँ छवि विवरण दर्ज करें WebSockets एक ग्राहक और सर्वर के बीच एक स्थायी संबंध प्रदान करता है जिसका उपयोग दोनों पक्ष किसी भी समय डेटा भेजने के लिए कर सकते हैं।

  • क्लाइंट WebSocket हैंडशेक के रूप में जाना जाता है एक प्रक्रिया के माध्यम से एक WebSocket कनेक्शन स्थापित करता है। यह प्रक्रिया क्लाइंट को सर्वर से नियमित HTTP अनुरोध भेजने के साथ शुरू होती है।
  • इस अनुरोध में एक अपग्रेड हैडर शामिल किया गया है जो सर्वर को सूचित करता है कि क्लाइंट वेबस्केट कनेक्शन स्थापित करना चाहता है।

निष्कर्ष :

यदि रियल टाइम कम्युनिकेशन की जरूरत है तो आप वेबसैट के लिए बहुत अच्छा विकल्प चुन सकते हैं।

लेकिन लंबे मतदान में:

वेब क्लाइंट और वेब सर्वर के बीच एक कनेक्शन खुला रखा जाता है ताकि जब सर्वर को नई जानकारी हो तो वह क्लाइंट को पुश कर सके। यह अनुरोध तब समाप्त हो गया है। फिर एक नया अनुरोध क्लाइंट और सर्वर के बीच किया जाता है और फिर सर्वर से दूसरे अपडेट का इंतजार किया जाता है। HTTP / 1.1 कीप-अलाइव्स के कारण समान टीसीपी कनेक्शन आम तौर पर कई अनुरोधों के लिए खुला रहता है।

संदर्भ और अन्य विचार:

PUBNub लंबा मतदान बनाम सॉकेट - मोबाइल बैटरी जीवन

लॉन्ग-पोलिंग, वेबसोकेट्स, सर्वर-सेंटेड इवेंट्स (SSE) और धूमकेतु क्या हैं?

ऑब्जेक्टिव-सी में लंबा मतदान

वेबसोकेट परिचय

वेबस्कैट बनाम लंबा मतदान

Apps में Websockets का उपयोग करना

Websocket अनुप्रयोग

PushTechnology- लंबा मतदान

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