2009-12-04 11 views
33

क्या किसी ने ओपन सोर्स एक्सएमपीपी लाइब्रेरी लिखी है जो वेबसाकेट का उपयोग करती है और इसका मतलब ब्राउज़र द्वारा चलाया जाना है?क्या कोई ओपन सोर्स वेबसाकेट्स (जावास्क्रिप्ट) एक्सएमपीपी लाइब्रेरी है?

+0

अब स्ट्रॉफ़ है: http://strophe.im/strophejs/ – alexk

उत्तर

18

हमारे पास अभी तक WebSockets से अधिक XMPP के लिए मानक नहीं है जो सर्वर कार्यान्वित कर सकते हैं, जो ग्राहक पक्ष को पर्याप्त रूप से निपटने से पहले आवश्यक होगा।

पहला कदम वेबस्केट मानकीकरण को समाप्त करना है। ऐसा लगता है कि यह एक आईईटीएफ हाइबी कार्य समूह में हो सकता है, जो लेखन के समय आईईएसजी द्वारा अभी तक अनुमोदित नहीं किया गया है। कुछ हफ्ते पहले हिरोशिमा आईईटीएफ बैठक में एक हाइबी पक्षी-ऑफ-ए-फेदर (बीओएफ) था (meeting materials देखें), जो बहुत अच्छी तरह से चला गया।

WebSockets के बाद एक स्थिर संदर्भ में है, और वह घर बसाने जा करने के लिए, XSF एक XEP कि WebSockets के लिए XMPP बांधता है, शायद WebSocket फ्रेम प्रति एक छंद के साथ पैदा करेगा लगता है।

संपादित करें: जैक मोफिट ने प्रोटोकॉल पर पहले पास के साथ एक आईईटीएफ Internet-Draft लिखा है जिसका उपयोग किया जा सकता है। चेतावनी। यह अभी भी भारी रूप से बदलने की संभावना है। केवल इसे लागू करें यदि आप इसे पूरी तरह से बाद में बाहर निकालना चाहते हैं। चेतावनी

3

वहाँ एक किताब जल्द ही आ रहा है कि इस विषय को शामिल किया गया है ...

Professional XMPP with JavaScript and jQuery alt text http://ecx.images-amazon.com/images/I/51B7VAHw8OL._SL500_AA240_.jpg

लेकिन मैं आपको पुस्तक के लिए प्रतीक्षा नहीं करना चाहते हैं यह सोचते हैं रहा हूँ। तो the Jack Moffitt's presentation from JSConf देखें। मैंने आज सुबह देखा। (जैक मोफिट ऊपर से जुड़ी पुस्तक का लेखक है।)

लाइब्रेरी शामिल (जावास्क्रिप्ट और सी कार्यान्वयन) Strophe है।

यह अन्वेषण का एक बहुत ही उपयोगी क्षेत्र है, लेकिन बहुत कच्चा है। हम जल्द ही देखेंगे। वेबसाकेट एचटीएमएल 5 के साथ आते हैं, क्या यह सही है?

+0

वास्तव में, वेबसाकेट HTML5 का हिस्सा हैं; Google क्रोम ने उन्हें –

24

कई समाधान (उनमें से कोई भी परिपूर्ण हैं)

1. उपयोग Kaazing रहे हैं।

वे पहले से ही इसका समर्थन करते हैं। यह खुला स्रोत है, लेकिन उनके पास dual license का कुछ प्रकार है, यह जांचने के लिए बेहतर है कि आप अपनी परियोजना के लिए उपयोग कर सकते हैं या नहीं।

2. js.io कम्बाइन और बंदर (अजाक्स इंजन पुश)

बंदर एक धूमकेतु ढांचा है, लेकिन वे हाल ही में WebSockets का समर्थन करना शुरू। अपनी वेबसाइट पर ("प्रॉक्सी के रूप में एपीई" अनुभाग में, वे कहते हैं कि यह js.io लाइब्रेरी चला सकता है जिसमें xmpp.js शामिल है, इसलिए संयोजन करना काम कर सकता है।

3।का प्रयोग करें CAUCHO

यह एक जावा आधारित बंदर के समान ढांचे के एक स्टॉप शॉप धूमकेतु समाधान प्रदान करता है, और वे दोनों XMPP और WebSockets

4 का समर्थन करने लगते हैं स्ट्रॉशे टीम से वेबसॉकेट का समर्थन करने के लिए कहें।

स्ट्रॉफ़ बॉश पर एक्सएमपीपी करता है (सिंक्रोनस HTTP पर बिडरेक्शनल-स्ट्रीम), लेकिन a discussion about supporting WebSockets भी है।

जैक मोफिट (कोर डेवलपर और ऊपर उल्लिखित पुस्तक के लेखक) वेबस्केट्स में रूचि रखते हैं, लेकिन हमें बोश पर वेबसॉकेट का समर्थन करने की आवश्यकता के बारे में और अधिक मजबूत तर्क प्रदान करने की आवश्यकता है। यदि आपके पास अच्छे उत्तर हैं, तो कृपया ट्रेड में शामिल हों।

मैंने अभी अपने xmpp,bosh,strophe echobot example की कोशिश की, जो अच्छी तरह से काम किया। आप यह देखने के लिए भी कोशिश कर सकते हैं कि यह आपकी आवश्यकता के अनुरूप है या नहीं।

# 2 और # 3 के लिए, वे कहते हैं कि वे दोनों xmpp और websockets का समर्थन करते हैं, लेकिन यह सुनिश्चित नहीं करते कि वे एक साथ काम करते हैं या नहीं।

XMPP & वेबसाकेट्स का उपयोग करने के बारे में आप किस प्रकार का एप्लिकेशन सोच रहे हैं?

नीचे विकल्पों के लिए सुझाव हैं।

  • आप उपस्थिति, चैट, चैट रूम बराबर कार्यक्षमता चाहते हैं, आप वेव गैजेट या रोबोट बना सकता है, तो बाहर Wave Embed API का उपयोग कर को बेनकाब (मृत लिंक, ऐतिहासिक उद्देश्यों के लिए रखे)। वेव वास्तव में एक्सएमपीपी के शीर्ष पर बनाया गया है।
  • यदि आप बस बहुत कम विलंबता संदेश क्षमता की तलाश में हैं, तो आप कर सकते हैं।
  • यदि आप बहुत सरल संदेश स्ट्रीमिंग की तलाश में हैं, तो आप केवल pipe in/out unix file as I demonstrated here कर सकते हैं।

जब मैंने this blog post लिखा था तो मुझे ऊपर की अधिकांश जानकारी मिली। यदि आप समय-समय पर टिप्पणी अनुभाग की जांच करते हैं, तो मुझे अन्य समाधान मिलने के बाद अपडेट पोस्ट कर दिया जाएगा।

+1

लागू किया है> XMPP और WebSockets का उपयोग करने के बारे में आप किस प्रकार का एप्लिकेशन सोच रहे हैं? मुझे जरूरी नहीं कि कुछ भी दिमाग में विशिष्ट हो; सामान्य रूप से, ज़ाहिर है, वेबस्केट्स पर एक्सएमपीपी वास्तविक घटना-आधारित वेब अनुप्रयोगों के लिए एक ढांचा और प्रोटोकॉल प्रदान करेगा, उदाहरण के लिए उपयोगकर्ता अनुभव में काफी सुधार करेगा।: * वेब आधारित ईमेल * वेब आधारित सहयोग * वास्तविक समय डेटा * रीयल-टाइम अपडेट तुल्यकालन * ब्राउज़र संचार इन दोनों प्रौद्योगिकियों के संयोजन है, साथ ही शक्तिशाली क्लाइंट साइड जावास्क्रिप्ट को ब्राउज़र इंजन, आधुनिक वेब ऐप्स wrt कई संभावनाओं को खोलने लगते हैं। –

+1

स्ट्रॉफ़ अब websockets का समर्थन करता है। मेरे पास कनेक्शन के लिए या तो वेबस्केट या बॉश का उपयोग करने का विकल्प है। – Robin

0

मुझे यकीन नहीं है कि आप विशेष रूप से वेबसॉकेट समाधान के लिए क्यों पूछ रहे हैं क्योंकि एक्सएमपीपी सर्वर को पहले इसका समर्थन करना होगा।

हालांकि वहाँ कई XMPP जावास्क्रिप्ट उपलब्ध पुस्तकालय हैं (जहाँ तक मैं वे सब बकवास विधि का उपयोग करें देखें):

इन उदाहरणों XMPP Website जो XMPP प्रोटोकॉल का खुला स्रोत कार्यान्वयन को सूचीबद्ध करता है से ले जाया गया।

+0

लिंक आम तौर पर उत्तर के रूप में स्वीकार्य नहीं हैं। अपने शब्दों में प्रश्न के लिए विशिष्ट उत्तर तैयार करें और संदर्भ के रूप में लिंक का उपयोग करें। संपादन के बाद मुझे उल्लेख करें, इसलिए मैं अपना डाउनवोट हटा सकता हूं। – markus

+1

@ मार्कस: टिप्पणियों के लिए धन्यवाद। मैंने जवाब तय किया। – MKroehnert

+0

प्रश्न विशेष रूप से जावास्क्रिप्ट एक्सएमपीपी पुस्तकालयों के लिए पूछ रहा है जिनके पास वेबसाकेट्स के लिए समर्थन है, बोश नहीं। –

0

मुझे यकीन नहीं है कि ब्राउज़र पक्ष पर जेएस अकेले वेबसाइकिल प्रोटोकॉल को संभाल सकता है क्योंकि यह ज्यादातर ब्राउज़र एपीआई पर भरोसा करता है। अभी तक कुछ ब्राउज़र समर्थन वेबसाकेट: क्रोम, सफारी 5, शायद फ़ायरफ़ॉक्स 4। फ्लैश/एएस 3 (फिर आपके जेएस फ्लैश कोड के साथ संचारित) के आधार पर कई कामकाज हैं, मुख्य सीमा यह है कि फ़्लैश सुरक्षित कनेक्शन (बहुत खराब) का समर्थन नहीं करता है।

बीडब्ल्यूटी, आप this websocket implem देख सकते हैं कि वे ओपनसोर्स जावा वेबस्केट क्लाइंट lib प्रदान करते हैं और एक्सएमपीपी सामग्री से निपटने लगते हैं और यदि आप रिपॉजिटरीज ब्राउज़ करते हैं तो आपको मूल रूप से 3 वेबस्केट कार्यान्वयन मिल सकता है।

3

JSJaC लागू XMPP Over Websockets। यह कई बैकएंड कार्यान्वयन के साथ काम करने के लिए जाना जाता है:

  • नोड xmpp-बकवास - RFC6455 का समर्थन करता है और 0.6.1 के बाद से कोई समस्या नहीं के साथ काम करता है, यह भी पारदर्शी रूप से STARTTLS का उपयोग करता है, यदि आवश्यक हो
  • wxg - RFC6455 का समर्थन करता है और कोई समस्या नहीं है, लेकिन STARTTLS की आवश्यकता वाले सर्वर से कनेक्ट नहीं हो सकता है (मूल wxg में समस्याएं हैं, जिन्हें गॉर्डिन द्वारा तय किया गया था)।
  • ejabberd-WebSockets - नहीं समर्थन RFC6455 इसलिए यह काम नहीं करता है, यह अनुकूल RFC6455 का समर्थन करने के Erlang जानते हुए भी किसी के लिए काफी आसान होना चाहिए करता है (कुछ कार्य प्रगति पर GitHub पर पाया जा सकता है)
  • Openfire - अनौपचारिक प्लग-इन उपलब्ध है, लेकिन यह RFC6455 के लिए समर्थन का अभाव है इसलिए यह काम नहीं करता
  • अपाचे Vysper - इसलिए RFC6455 का समर्थन नहीं करता
  • Tigase काम नहीं करता है - WebSocket समर्थन
  • पर कोई ज्ञात काम
  • मोंगोसेम - वेबसाइटों पर एक्सएमपीपी के समर्थन के साथ ejabberd का एक कांटा।
संबंधित मुद्दे