2012-06-14 12 views
8

मैं ऐसी वेबसाइट विकसित करना चाहता हूं जिसमें वेबसाइट विज़िटर और वेबसाइट व्यवस्थापक के बीच चैट सुविधा हो।PHP और JQuery का उपयोग कर वेब-आधारित XMPP चैट सुविधा कैसे विकसित करें?

मुझे पता है कि ऐसा करने का सबसे अच्छा तरीका एक्सएमपीपी का उपयोग करेगा, हालांकि मुझे इसका उपयोग करने का कोई अनुभव नहीं है। मैं PHP का उपयोग कर इसे लागू करने के लिए देख रहा हूँ।

मैंने एक्सएमपीपीएचपी डाउनलोड किया है और मैंने जीमेल में अपने Google चैट क्लाइंट को एक संदेश भेजने के लिए एक उदाहरण संपादित किया है, लेकिन जब मैं जवाब देता हूं तो Google मुझे बताता है कि दूसरे छोर को संदेश नहीं मिला।

अब तक, सबसे अधिक जानकारीपूर्ण ट्यूटोरियल http://www.ibm.com/developerworks/xml/tutorials/x-realtimeXMPPtut/ है, लेकिन मुझे नहीं पता कि मुझे 'ओपनफायर' इंस्टॉल करने की आवश्यकता क्यों है और न ही मैं अपनी स्थानीय मशीन पर वेबसाइट बनाना चाहता हूं।

क्या कोई मुझे बता सकता है कि मुझे इस परियोजना को स्थापित करने के लिए क्या चाहिए (और अधिक महत्वपूर्ण बात, क्यों) ताकि मैं इसके लिए कोड बनाना शुरू कर सकूं?

+0

क्या यह PHP होना चाहिए? क्या यह एक्सएमपीपी होना चाहिए? – Sixty4Bit

+0

@ Sixty4Bit आपको जवाब देने में देरी के लिए खेद है। PHP होना चाहिए, * * एक्सएमपीपी – P3tro

+1

होना चाहिए क्यों मिबू की कोशिश नहीं करें? PHP में Thats और अच्छी तरह से काम करता है। – Tanmay

उत्तर

8

अन्य उत्तर के लिए टिप्पणियों मैं आपको बता क्यों जा रहा हूँ से परखने के बाद, और एक छोटे से क्या नहीं, बल्कि आप दे एक समाधान क्योंकि मुझे "संबंधित" साइडबार में समाधानों का एक टन दिखाई देता है। आपको सही चुनना होगा और "क्यों" जानना होगा, आप एक शिक्षित निर्णय लेने में सक्षम होंगे।

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

ब्राउज़र में लगातार कनेक्शन HTTP के अनुरोध/प्रतिक्रिया विनिर्देशों के कारण कठिन हैं। ब्राउज़र में लगातार कनेक्शन लाने के लिए काम में विशिष्टताएं हैं लेकिन वे ब्राउज़र सर्वव्यापी नहीं हैं। भविष्य में लगातार कनेक्शन WebSockets और SPDY द्वारा प्रदान किए जाएंगे, जिनमें से दोनों क्रोम, सफारी और फ़ायरफ़ॉक्स के नवीनतम संस्करणों में उपलब्ध हैं, आईई के साथ थोड़ा सा है।

लगातार कनेक्शन के लिए एक और विकल्प XMPP है। एक्सएमपीपी प्रोटोकॉल है जो जैबर चैट क्लाइंट के लिए उपयोग किया जाता है। चूंकि यह एक खुला स्रोत कार्यान्वयन है, इसे कई अन्य उपयोगों में पोर्ट किया गया है। जावास्क्रिप्ट पुस्तकालय मौजूद हैं जो आपको ब्राउज़र को XMPP सॉकेट से कनेक्ट करने और नए संदेशों को सुनने की अनुमति देता है। अतीत में मैंने जो विधि देखी है वह संदेश वेब सर्वर पर भेजना है, और उसके बाद वेब सर्वर XMPP सर्वर को नए संदेश के बारे में बताता है जो तब सभी उपयोगकर्ताओं को नया संदेश प्रसारित करता है। हालांकि, इसके लिए एक एक्सएमपीपी सर्वर की आवश्यकता है जो सिस्टम की जटिलता को बढ़ाता है।

अधिकांश उपयोगकर्ता ब्राउज़र संस्करणों के खून बहने वाले किनारे पर नहीं हैं, इसलिए आपको पुराने ब्राउज़र को संभालने में सक्षम होना होगा। अधिकांश विकल्पों में सर्वर के लिए एक लंबे समय से चलने वाला कनेक्शन खोलना शामिल होता है जो जब भी नया डेटा आता है तो प्रतिक्रिया देता है।यहाँ पुराने ब्राउज़र में एक लगातार कनेक्शन का अनुकरण के लिए तरीकों की एक सूची है:

  • एडोब फ्लैश सॉकेट
  • ActiveX HTMLFile (आईई)
  • सर्वर-से भेजे गए इवेंट (ओपेरा) बहुखण्डीय एन्कोडिंग
  • साथ
  • एक्सएचआर
  • लंबे समय से मतदान

इन पुराने तरीकों, और WebSockets साथ एक्सएचआर, एक पुस्तकालय द्वारा समर्थित हैं Juggernaut कहा जाता है।

अद्यतनJuggernaut has been deprecated by the maintainer, अच्छे कारण के लिए: आधुनिक ब्राउज़रों एक विनिर्देश कहा जाता है सर्वर-से भेजे गए इवेंट (SSE) के माध्यम से बॉक्स (बेशक आईई को छोड़कर) से बाहर लगातार कनेक्शन का समर्थन। पिछली संगतता अब पॉलीफिल (What is a polyfill?) द्वारा नियंत्रित की जाती है और बहिष्करण पोस्ट नोट्स के रूप में, एसएसई को विरासत ब्राउज़र में लाने के लिए कुछ अच्छे लोग हैं।

+1

एक उत्कृष्ट प्रतिक्रिया और हल करने के लिए परिचय; समस्या है। उत्तर के रूप में चुना गया। – P3tro

0

वहां बहुत सारे संसाधन हैं जो इससे आपकी सहायता कर सकते हैं। एक त्वरित गूगल खोज को लाता है निम्नलिखित:

http://sixrevisions.com/tools/10-free-website-chat-widgets-to-make-your-site-interactive/

http://www.phpfreechat.net/

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-simple-web-based-chat-application/

+0

हाय। मैं आपकी प्रतिक्रिया की सराहना करता हूं, लेकिन यह मेरे प्रश्न का उत्तर नहीं देता है। मैंने पहले से ही कुछ ट्यूटोरियल्स के लिए Google पर खोज की है और जो मैंने पाया है वह या तो मेरी ज़रूरतों के अनुरूप नहीं था या सिर्फ 'आउट ऑफ़ द बॉक्स' समाधान थे, जो आदर्श नहीं है। मैं इस एप्लिकेशन को बनाने में सक्षम होना चाहता हूं लेकिन मुझे मूल बातें समझ में नहीं आ रही है जो मैं मदद मांग रहा हूं। – P3tro

+0

@IjazAhmedBhatti मुझे लगता है कि आप कठोर हैं और आपकी टिप्पणी इस चर्चा या वेबसाइट पर कुछ भी नहीं जोड़ती है। – peacemaker

0

त्वरित संदेश ऐप्स वास्तविक समय माना जाता है। एक वेबसाइट HTTP प्रोटोकॉल पर काम करती है जो अनुरोध/प्रतिक्रिया विधि का उपयोग करती है। ऐसा करने का एक तरीका है पोलिंग। उपयोगकर्ता के लिए सर्वर के लिए नए लंबित संदेशों के लिए अनुरोध भेजें। सर्वर भेजे गए संदेशों और जो अभी तक वितरित किए जाने वाले लोगों के बीच अंतर करने में सक्षम होना चाहिए। इस विधि को मतदान कहा जाता है। आपका ब्राउज़र लगातार सर्वर से किसी भी लंबित संदेश भेजने के लिए कह रहा है। लेकिन यह बैंडविड्थ को बर्बाद कर सकता है और बैटरी को भी हटा सकता है (यदि वेबसाइट को स्मार्टफोन का उपयोग करके एक्सेस किया जाता है)। बेहतर विकल्प अभी भी एक्सएमपीपी सर्वर का उपयोग करना है।

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