2011-06-08 13 views
9

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

चूंकि यह साइट मोबाइल उपकरणों के लिए है, इसलिए मैं सोच रहा था कि प्रदर्शन तुलना सर्वर के समय-समय पर परिवर्तन (कहने, हर 5 सेकंड) के बीच मतदान करने और कुछ प्रकार के वेबसाइटों के कार्यान्वयन एला http://codysoyland.com/2011/feb/6/evented-django-part-one-socketio-and-gevent/ का उपयोग करने के बीच की तुलना में थी।

बैटरी जीवन के संबंध में, क्या अंतर नगण्य है? कोड-वार, ऐसा लगता है कि एक AJAX कार्यान्वयन भी आसान होगा।

+3

आप "धूमकेतु" शैली AJAX में भी देखना चाहते हैं, जहां आप क्लाइंट से कनेक्शन खोलते हैं और इसे सभ्य समय (30 सेकंड या उससे अधिक) के लिए खोलते हैं, इसलिए सर्वर एक प्रतिक्रिया भेज सकता है जैसे ही एक घटना होती है। अगर उस 30 सेकंड में कुछ भी नहीं होता है, तो सर्वर सिर्फ "कुछ भी नहीं हुआ" प्रतिक्रिया भेजता है, क्लाइंट कुछ भी नहीं बदलता है, और सर्वर को फिर से अनुरोध भेजता है। – uscere90

+1

सॉकेट.ओओ क्लाइंट से ब्रेक होने पर ही वेबसाइकिल कनेक्शन तोड़ता है, इसलिए निरंतर संचार होता है। मुझे लगता है कि लगातार संचार बनाए रखने के लिए अधिक संसाधनों का उपयोग करना होगा और इसलिए एक अंतरिम मतदान की तुलना में बैटरी जीवन। – Robert

+0

धूमकेतु शैली का उपयोग करना AJAX को साइट पर सेवा करने वाले किसी के समानांतर में चलने वाला एक अतिरिक्त सर्वर चाहिए? – CCSab

उत्तर

1

बैटरी के अनुसार मुझे नहीं लगता कि इससे कोई बड़ा अंतर आएगा। मैं socket.io का उपयोग करता हूं, हालांकि आप केवल socket.io का उपयोग करते हैं और यह websockets का उपयोग करने का प्रयास करेगा और यदि ब्राउज़र उनका समर्थन नहीं करता है तो AJAX अनुरोधों पर वापस आते हैं

2

उत्तर "यह निर्भर करता है"। यदि आप एक ज्ञात अच्छे websockets कार्यान्वयन के साथ एक मोबाइल डिवाइस को लक्षित कर रहे हैं तो उस तरह जाओ। फिलहाल, यह शायद आईओएस 4.2 के साथ केवल आईफोन/आईपैड है या बाद में का अच्छा कार्यान्वयन हो सकता है।

हर किसी के लिए, आप मतदान कर रहे हैं, इसलिए मैं उस मार्ग से नीचे जाऊंगा।

मैंने कई निकट-वास्तविक समय सेवाओं (< 10s विलंबता) की है जो मतदान का उपयोग करके ठीक काम करती है। मैं इसे चैट इंजन के लिए उपयोग नहीं करता, लेकिन अधिकांश चीजों के लिए यह ठीक है।

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