2012-05-30 15 views
31

अब एक दिन वास्तविक समय अपडेट सबसे लोकप्रिय साइटों में आम हैं जिनके भारी उपयोग हैं।वास्तविक समय अपडेट कैसे काम करते हैं?

मैं सोच रहा हूँ कि कैसे इन "वास्तविक समय अद्यतन" काम करते हैं? मैं सिर्फ एक सामान्य पक्षी के दृष्टिकोण परिप्रेक्ष्य की तलाश में हूं। मुझे संदेह है कि जेएस अद्यतन के लिए हर एक्स सेकंड सर्वर को कॉल नहीं कर सकता है और फिर इसे <ul> में जोड़ रहा है। क्या सर्वर से भेजी गई अधिसूचना अधिक सामग्री खींचने के लिए गई है?

बहुत अच्छा होगा अगर लेख के बारे में एक सरल तरीका है जो इसे डेमो के साथ समझाता है?

+5

दो शब्द: [वेब सॉकेट] (http://en.wikipedia.org/wiki/WebSocket) – Dennis

+1

[कि] (http://en.wikipedia.org/wiki/WebSocket) [ एचटीएमएल 5] (http://www.html5rocks.com/en/tutorials/websockets/basics/)। –

+21

एक शब्द: [वेबसॉकेट] (http://en.wikipedia.org/wiki/WebSocket) –

उत्तर

22

स्टैक ओवरफ़्लो रीयल टाइम अपडेट के लिए Web Sockets का उपयोग कर रहा है। यदि आप स्रोत कोड (लाइन 35) में एक बार देख ले, तो आप देखेंगे:

StackExchange.ready(function() { 
    StackExchange.realtime.init('ws://sockets.ny.stackexchange.com'); 
    StackExchange.realtime.subscribeToInboxNotifications(); 
    StackExchange.realtime.subscribeToReputationNotifications('1'); 
}); 

लेकिन ध्यान दें कि कुछ ओपेरा संस्करणों WebSocket समर्थन नहीं करता। (not until Opera 10.70)

हालांकि Facebook वेब सॉकेट उपयोग करने के लिए प्रतीत नहीं होता है, और मैं वे सिर्फ एक तकनीक long polling कहा जाता है, जो सर्वर कनेक्शन को पकड़ नई जानकारी नहीं होने तक, और उसके बाद सर्वर के साथ सरल एक्सएचआर उपयोग कर रहे हैं लगता है अनुरोध का जवाब देंगे। यदि आप डेवलपर टूल खोलते हैं तो आप देख सकते हैं कि हमेशा एक अनुरोध है जिसमें लंबित स्थिति है।

वास्तव में, यह हर 60 सेकंड में अनुरोध भेज रहा है।

2

ऐसा लगता है कि ट्विटर अपने "वास्तविक समय अपडेट" के लिए सरल एक्सएचआर (1 मिनट अंतराल) का भी उपयोग करता है।

0

फेसबुक long polling/Comet का उपयोग करता है। तो यह एक कनेक्शन बनाता है और प्रतिक्रिया के लिए इंतजार कर रहा है, अगर कोई प्रतिक्रिया नहीं है, तो यह समय समाप्त हो जाता है और फिर कोशिश करता है। टाइमआउट लगभग 40 सेकंड है। इस तरह यह तुरंत अद्यतन अद्यतन करता है। हालांकि वे तकनीकों के संयोजन का उपयोग करते हैं। यहां लंबे मतदान पर अधिक।

http://en.wikipedia.org/wiki/Comet_(programming)