2012-10-26 10 views
5

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

तो ऐसा लगता है कि मुझे अपने सर्वर पर लंबे मतदान को लागू करने की आवश्यकता है। मेरे प्रश्न हैं:

  1. सर्वर साइड। मैं एएसपीएनटी एमवीसी सर्वर का उपयोग कर रहा हूँ। मैंने SignalR ढांचे पर एक नज़र डाली थी और ऐसा लगता है कि मुझे बस यही चाहिए। हालांकि, सिर्फ इसलिए कि मैं लंबे मतदान के लिए नया हूं, मुझे अपने काम के आंतरिक सिद्धांतों को समझ में नहीं आया है। तो मुझे इस ढांचे का उपयोग करने के तरीके, या किसी अन्य तरीके से लंबे मतदान को लागू करने के तरीके के बारे में स्पष्टीकरण की आवश्यकता है।

  2. ग्राहक पक्ष। जहां तक ​​मुझे समझा गया, लंबे मतदान अनुरोध मॉडल मानक "अनुरोध-प्रतिक्रिया" मॉडल से थोड़ा अलग हैं, इसलिए मैं यह भी सोच रहा हूं कि क्लाइंट पक्ष पर इन अनुरोधों को कैसे कार्यान्वित किया जाए।

मैं उन विषयों पर किसी भी स्पष्टीकरण की प्रतीक्षा कर रहा हूं जो मैंने वर्णित किया है।

+0

की जांच: http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx यह आप बुनियादी और एक काम कर डेमो पता चलता है। मुझे यह भी विश्वास है कि आपके उद्देश्य के लिए सिग्नलआर बहुत अच्छा होगा, और इसका उपयोग करना मुश्किल नहीं है! – Sindre

उत्तर

2

मुझे यकीन नहीं है, अगर आपने डब्ल्यूसीएफ माना है।

इस पर एक नज़र डालें, देखें कि यह आपकी मदद करता है या नहीं। http://anthymecaillard.wordpress.com/2012/06/06/wcf-real-time-web-development-with-long-polling/

ग्राहक के लिए: उपयोग jQuery, हमारी प्रतिक्रिया तक प्रगति पहिया दिखाने के साथ सर्वर

4

इस उत्तर आप देख रहे हैं नहीं हो सकता है से वापस आ गया है, लेकिन आप क्यों लंबे मतदान के लिए जाने के लिए चाहते हैं । आप इस प्रकार की अधिसूचनाओं के लिए "pull" प्रकार के मतदान कर सकते हैं IF जब आप लड़ाइयों में व्यस्त होते हैं तो आप केवल मतदान कर रहे हैं।
इस तरह बैटरी जीवन भी बचाया जाएगा। जब युद्ध शुरू होता है, तो पृष्ठभूमि सेवा शुरू करें, जो प्रत्येक 2-3 seconds सर्वर को मतदान करे (उम्मीद है कि 2-3 सेकंड की विलम्ब स्वीकार्य है)। और तदनुसार उपयोगकर्ता को सूचित करें। फिर युद्ध खत्म हो जाने पर सेवा को रोकें।
यह लागू करने के लिए कहीं अधिक आसान होगा।
लेकिन अगर आपको तत्काल अधिसूचना की आवश्यकता है, तो आप Google Cloud Messaging Service (यह लंबे मतदान का एक रूप है) का उपयोग कर सकते हैं। यह कैसे काम करता के बारे में अधिक जानने के लिए बाहर देखने के this

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