अन्य उत्तर के लिए टिप्पणियों मैं आपको बता क्यों जा रहा हूँ से परखने के बाद, और एक छोटे से क्या नहीं, बल्कि आप दे एक समाधान क्योंकि मुझे "संबंधित" साइडबार में समाधानों का एक टन दिखाई देता है। आपको सही चुनना होगा और "क्यों" जानना होगा, आप एक शिक्षित निर्णय लेने में सक्षम होंगे।
चैट को सही महसूस करने के लिए, प्रतिक्रियाओं के लिए कुछ तत्कालता होनी चाहिए। समय में एक दूसरे अंतराल समय के साथ उपयोगकर्ताओं के लिए ध्यान देने योग्य होगा और असामयिकता की भावना दे। किसी ब्राउज़र में तत्काल या "वास्तविक समय" प्रतिक्रियाओं को काम करने के लिए लगातार कनेक्शन की आवश्यकता होती है ताकि जब नई जानकारी आती है, तो यह तुरंत दिखाई देता है।
ब्राउज़र में लगातार कनेक्शन HTTP के अनुरोध/प्रतिक्रिया विनिर्देशों के कारण कठिन हैं। ब्राउज़र में लगातार कनेक्शन लाने के लिए काम में विशिष्टताएं हैं लेकिन वे ब्राउज़र सर्वव्यापी नहीं हैं। भविष्य में लगातार कनेक्शन WebSockets और SPDY द्वारा प्रदान किए जाएंगे, जिनमें से दोनों क्रोम, सफारी और फ़ायरफ़ॉक्स के नवीनतम संस्करणों में उपलब्ध हैं, आईई के साथ थोड़ा सा है।
लगातार कनेक्शन के लिए एक और विकल्प XMPP है। एक्सएमपीपी प्रोटोकॉल है जो जैबर चैट क्लाइंट के लिए उपयोग किया जाता है। चूंकि यह एक खुला स्रोत कार्यान्वयन है, इसे कई अन्य उपयोगों में पोर्ट किया गया है। जावास्क्रिप्ट पुस्तकालय मौजूद हैं जो आपको ब्राउज़र को XMPP सॉकेट से कनेक्ट करने और नए संदेशों को सुनने की अनुमति देता है। अतीत में मैंने जो विधि देखी है वह संदेश वेब सर्वर पर भेजना है, और उसके बाद वेब सर्वर XMPP सर्वर को नए संदेश के बारे में बताता है जो तब सभी उपयोगकर्ताओं को नया संदेश प्रसारित करता है। हालांकि, इसके लिए एक एक्सएमपीपी सर्वर की आवश्यकता है जो सिस्टम की जटिलता को बढ़ाता है।
अधिकांश उपयोगकर्ता ब्राउज़र संस्करणों के खून बहने वाले किनारे पर नहीं हैं, इसलिए आपको पुराने ब्राउज़र को संभालने में सक्षम होना होगा। अधिकांश विकल्पों में सर्वर के लिए एक लंबे समय से चलने वाला कनेक्शन खोलना शामिल होता है जो जब भी नया डेटा आता है तो प्रतिक्रिया देता है।यहाँ पुराने ब्राउज़र में एक लगातार कनेक्शन का अनुकरण के लिए तरीकों की एक सूची है:
- एडोब फ्लैश सॉकेट
- ActiveX HTMLFile (आईई)
- सर्वर-से भेजे गए इवेंट (ओपेरा) बहुखण्डीय एन्कोडिंग
साथ
- एक्सएचआर
- लंबे समय से मतदान
इन पुराने तरीकों, और WebSockets साथ एक्सएचआर, एक पुस्तकालय द्वारा समर्थित हैं Juggernaut कहा जाता है।
अद्यतनJuggernaut has been deprecated by the maintainer, अच्छे कारण के लिए: आधुनिक ब्राउज़रों एक विनिर्देश कहा जाता है सर्वर-से भेजे गए इवेंट (SSE) के माध्यम से बॉक्स (बेशक आईई को छोड़कर) से बाहर लगातार कनेक्शन का समर्थन। पिछली संगतता अब पॉलीफिल (What is a polyfill?) द्वारा नियंत्रित की जाती है और बहिष्करण पोस्ट नोट्स के रूप में, एसएसई को विरासत ब्राउज़र में लाने के लिए कुछ अच्छे लोग हैं।
क्या यह PHP होना चाहिए? क्या यह एक्सएमपीपी होना चाहिए? – Sixty4Bit
@ Sixty4Bit आपको जवाब देने में देरी के लिए खेद है। PHP होना चाहिए, * * एक्सएमपीपी – P3tro
होना चाहिए क्यों मिबू की कोशिश नहीं करें? PHP में Thats और अच्छी तरह से काम करता है। – Tanmay