2010-03-13 3 views
12

मैं इस तरह एक आवेदन बनाना चाहते हैं?क्या "लंबे मतदान" वेब रीयल टाइम ऐप बनाने का सबसे प्रभावी तरीका है?</p> <p><a href="http://collabedit.com/" rel="nofollow noreferrer">http://collabedit.com/</a></p> <p>लिए सबसे कारगर तरीका यह वास्तविक समय आवेदन बनाने के लिए क्या है:

फ़्लैश? लंबे मतदान? एचटीपी स्ट्रीमिंग? या कुछ और?

धन्यवाद;)

उत्तर

14

अब के लिए, लंबे मतदान शायद सबसे अच्छा समाधान है। कई बड़ी-बड़ी साइटों में फेसबुक, Google और eBay सहित लंबे मतदान कार्यान्वयन हैं। हर किसी के पास अपने ब्राउज़र में फ़्लैश स्थापित/सक्षम नहीं है। भविष्य में Web Sockets हमारे लिए इसका आसान काम करने में सक्षम हो सकता है।

अद्यतन: इस लेखन के अनुसार, WebSocket API नवीनतम वेबकिट (क्रोम/सफारी) और फ़ायरफ़ॉक्स 4 बीटा में कार्यान्वित किया गया है। एपीआई के कार्यान्वयन के साथ ओपेरा available for download का एक सार्वजनिक स्नैपशॉट निर्माण भी है। इसका मतलब है कि एपीआई का परीक्षण व्यापक रूप से उपलब्ध है। अधिक जानकारी के लिए, this answer देखें।

+0

+1 मुझे लंबी मतदान पसंद है। भविष्य अलग हो सकता है लेकिन मैं फ्लैश के साथ नहीं जाऊंगा। – Plynx

+0

मैंने phpfreechat (जो लंबे मतदान का उपयोग करते हैं) का उपयोग किया है और केवल 20 लोगों के साथ बहुत धीमा है !! क्यूं कर ? मुझे लाखों लोगों के लिए एक वास्तविक समय ऐप बनाने की ज़रूरत है !! – xRobot

+2

@xRobot: क्या आपने एफएक्यू की जांच की है? [http://www.phpfreechat.net/faq] यह डिस्क एक्सेस से संबंधित एक प्रदर्शन समस्या का समाधान प्रदान करता है। इसके अलावा आपको एक ही समय में लाखों कनेक्शनों को संभालने के लिए एक बहुत ही उच्च संचालित सर्वर की आवश्यकता होती है। सामान्य http अनुरोध खुले होते हैं-> डेटा प्राप्त करें-> बंद करें, इसलिए एक साथ कनेक्शन कम हैं। लंबे मतदान के साथ यह खुला है-> डेटा के लिए प्रतीक्षा करें-> बंद करें, इतने सारे एक साथ लगभग गारंटीकृत हैं। सर्वर केवल सीमित मात्रा में समवर्ती कनेक्शन को संभाल सकते हैं, और यदि आप मेरी बहाव पकड़ते हैं, तो आप जो भुगतान करते हैं, वह आपको मिलता है! –

1

मुझे नहीं लगता कि लंबे समय तक मतदान धूमकेतु करने का सबसे प्रभावी तरीका है। वैसे भी, प्रतिक्रिया मिलने के बाद यह नया HTTP अनुरोध भेजता है। HTTP स्ट्रीमिंग की तुलना में यह अधिक अतिरिक्त HTTP अनुरोधों की लागत है।

लेकिन, लंबे समय तक मतदान HTTP स्ट्रीमिंग से अधिक विश्वसनीय और आसान हो सकता है। इस article in Google Code के अनुसार, HTTP स्ट्रीमिंग कार्यात्मक नहीं हो सकती है यदि इंटरमीडिएट HTTP प्रॉक्सी सामग्री को बफर करता है।

यह दिलचस्प है कि जीमेल लंबे समय तक मतदान का उपयोग नहीं करता है। एचटीपी स्निफ़ेर की मदद से, यह स्पष्ट है कि यह धूमकेतु के लिए HTTP स्ट्रीमिंग का उपयोग करता है।

+0

फेसबुक भी लंबे मतदान का उपयोग नहीं करते हैं? क्या आप http स्ट्रीमिंग के लिए कोई उदाहरण जानते हैं? Thans^_^ – xRobot

+0

मैंने इसे व्यक्तिगत रूप से परीक्षण नहीं किया है, लेकिन मुझे बताया गया है कि फेसबुक चैट लंबे मतदान द्वारा लागू की जाती है। जीमेल एचटीपी स्ट्रीमिंग है। तो आउटलुक वेब एक्सेस है। –

+0

@xRobot, यदि आप कैसे उम्मीद कर रहे हैं, यह यूआरएल एक अच्छा सारांश है: http://cometdaily.com/2007/12/11/the-future-of-comet-part-1-comet- आज/ –

4

सभी विभिन्न तरीकों अलग पक्ष-विपक्ष है, मैं मतभेदों पर एक विशेषज्ञ नहीं हूँ, यही कारण है कि मैं, चुनाव बनाने से बचने के लिए आप की सिफारिश करेंगे विकास और ट्यूनिंग है कि प्रत्येक दृष्टिकोण शामिल है से बचने के लिए, से बचने उपलब्ध प्रौद्योगिकियों में भविष्य में परिवर्तन (यानी के रूप में एचटीएमएल 5 वेब सॉकेट आगमन।), एक पुस्तकालय ग्राहक क्षमताओं के आधार पर सार है कि परिवहन विधि का इस्तेमाल किया, और सबसे अच्छा तरीका चुनता है का उपयोग करते हुए:

http://socket.io/

इस अद्भुत पुस्तकालय रीयलटाइम ऐप्स को आश्चर्यजनक रूप से बना देता है imple! और विभिन्न सर्वर-साइड कार्यान्वयन हैं: पायथन (टोरनाडो), जावा, Google गो, रैक (रूबी), नोड.जेएस (सर्वर-साइड जावास्क्रिप्ट) में मुख्यधारा के कार्यान्वयन के अलावा

+0

यूप .. !! जावा और नोडजेएस दोनों के साथ पहले ही इसका इस्तेमाल किया गया है। इसका शानदार उपकरण। जावा के लिए हम नेटटी सर्वर कार्यान्वयन का उपयोग कर सकते हैं। – agpt

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