2010-06-04 17 views
8

मैं फेसबुक चैट की तरह एक चैट बनाना होगा।धूमकेतु वी.एस. अजाक्स मतदान

धूमकेतु के साथ मैं और अधिक स्मृति की जरूरत कनेक्शन रखने के लिए।

अजाक्स मतदान के साथ यदि मैं हर 3-4 सेकंड में अनुरोध भेजता हूं तो विलंबता समस्या होती है।

तो ... यदि विलंबता (3-4 सेकंड) कोई फर्क नहीं पड़ता, तो क्या अजाक्स मतदान मेरे मामले के लिए बेहतर है?

+1

मुझे लगता है कि तुम सिर्फ वहाँ :) –

उत्तर

1

यदि विलंबता कोई मुद्दा नहीं है तो AJAX शायद बेहतर है। यदि आप बहुत सावधान नहीं हैं, तो धूमकेतु को उसी ग्राहक/सर्वर जोड़ी के बीच कई कनेक्शन बनाए रखने में समस्याएं आ सकती हैं। (Ref)

6

लेटेंसी एकमात्र समस्या नहीं है। कोमेट (लंबे समय से मतदान) "बचाता है" अपने यातायात - जब आप मतदान का उपयोग करें, आप, अगर वहाँ सर्वर पर परिवर्तन किया गया है पता नहीं कर सकते, तो कॉल के कुछ, बस यातायात और संसाधनों (जैसे की बर्बादी हो सकता है, भले ही कोई भी की चैट, आप हर 3-4 सेकंड कॉल कर रहे हैं)। सीओएमईटी के मामले में, आपको आम तौर पर सर्वर से अपडेट प्राप्त करने के लिए केवल एक कॉल की आवश्यकता होती है (100% हिट दर के साथ)।

+2

अपने खुद के सवाल का जवाब दे लेकिन धूमकेतु के साथ, मैं और अधिक स्मृति खुले कनेक्शनों रखने के लिए ... कोई ज़रूरत है? – xRobot

+1

एक कनेक्शन रखना स्वयं इतना हानिकारक नहीं है। मेमोरी खपत अधिक निर्भर करता है कि सर्वर-साइड आईओ एपीआई जिसे आप चुना जाएगा - अवरुद्ध या अवरुद्ध करना। यदि आप अवरुद्ध एपीआई चुनते हैं, तो आपके पास प्रति कनेक्शन थ्रेड होगा -> 3-4k खुले कनेक्शन के साथ मेमोरी समस्याएं। यदि आप गैर-अवरुद्ध API चुनते हैं (लगभग हर एप्लिकेशन सर्वर में एनआईओ क्षमताओं हैं), तो आप लाखों खुले कनेक्शन रख सकते हैं। –

+1

आप पा सकते हैं इस दिलचस्प - http://iobound.com/2008/11/comet-nio/ –

2

@Vasil: "यदि आप खोला कनेक्शन के लाखों लोगों रख सकते"

एक नज़र to this problem

और आईओ से अधिक NIO की the false superiority के बारे में है।

आईबाउंड आलेख सिर्फ आईओओ को एनआईओ से बेहतर प्रदर्शन करता है और हाँ आईओ एनआईओ से पहले स्मृति से बाहर चला जाता है (वैसे, लेखक ने कम मूल्य के साथ स्टैक मेमोरी को कम करने की कोशिश नहीं की है)।

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