2012-06-22 6 views
6

मैं वेबसाकेट्स का उपयोग कर आईआरसी, आईसीक्यू, एसआईपी, आदि सेवाओं से कनेक्ट करना चाहता हूं। मान लीजिए कि जावास्क्रिप्ट में उन प्रोटोकॉल के कुछ प्रकार के कार्यान्वयन हैं? क्या यह संभव है? मुझे नियमित सॉकेट की तुलना में वेबसाकेट की सीमाओं को समझना प्रतीत नहीं होता है।क्या मैं वेबस्केट्स का उपयोग कर आईआरसी, आईसीक्यू, एसआईपी, आदि सेवाओं से कनेक्ट कर सकता हूं, जिसमें जावास्क्रिप्ट में उन प्रोटोकॉल का कुछ प्रकार का कार्यान्वयन है?

उत्तर

7

नहीं, आप कम से कम सीधे नहीं कर सकते हैं।

वेबसाकेट ब्राउज़र और वेबसॉकेट सर्वर के बीच रीयल-टाइम मैसेजिंग की अनुमति देता है, लेकिन उनके पास उन संदेशों को encapsulating के लिए अपना स्वयं का परत 7 प्रोटोकॉल है।

वे एक शुद्ध टीसीपी (या यूडीपी) सॉकेट तक पहुंच प्रदान नहीं करते जिस पर आप मौजूदा प्रोटोकॉल को कार्यान्वित कर सकते हैं।

+0

आप के लिए जैसे के साथ एक सर्वर-सॉकेट ओर कर सकते हैं पीएचपी। आईआरसी आरएफसी को पुन: पेश किया जा सकता है। –

+0

@ लेन्ड्रो और ग्राहक पक्ष के बारे में क्या? – Alnitak

+0

ग्राहक सेवा-अनुवाद का उपयोग करेगा। –

8

बिल्कुल!

चेतावनी यह है कि आपको ब्राउज़र के वेबसॉकेट परिवहन प्रोटोकॉल और मौजूदा सेवा के कच्चे टीसीपी सॉकेट के बीच पुल करने के लिए कुछ चाहिए। उदाहरण के लिए, websockify जैसे कुछ (अस्वीकरण: मैंने websockify बनाया)। एक और चेतावनी यह है कि websockify केवल टीसीपी लक्ष्यों का समर्थन करता है (वेबसॉकेट केवल टीसीपी है, इसलिए यूडीपी लक्ष्यों का समर्थन करना वैसे भी थोड़ा अजीब होगा)।

websockify प्रोजेक्ट में वास्तव में आईआरसी और टेलनेट के साथ संवाद करने के लिए अवधारणा HTML/जावास्क्रिप्ट पृष्ठों के दो सबूत शामिल हैं। यदि आप कुछ सामान्य टीसीपी प्रोटोकॉल के लिए एचटीएमएल/जावास्क्रिप्ट क्लाइंट बनाने के लिए websockify का लाभ उठाने में रुचि रखते हैं, तो मैं उन्हें वेबसाइफ रेपो में भी उदाहरण के रूप में खींच सकता हूं (माना जाता है कि वे अच्छी तरह से कोडित हैं और ओपन सोर्स लाइसेंस के तहत हैं।

एक विकल्प websockify वेब सर्वर सर्वर-साइड समर्थन को सीधे उन सर्वरों में एकीकृत करना है जिनके साथ आप संवाद करना चाहते हैं। समर्थन जोड़ने में इतना मुश्किल नहीं है। वेबसॉकेट का एक बहुत ही सरल फ़्रेमिंग है और जबकि हैंडशेक HTTP सर्वर के साथ संगत है, यह वास्तव में बहुत अधिक प्रतिबंधित और सरल है और एक पूर्ण HTTP पार्सर की आवश्यकता नहीं है। उदाहरण के लिए, libvncserver 0.9.9 अब वेबसॉकेट पर नियमित वीएनसी कनेक्शन और वीएनसी कनेक्शन दोनों का समर्थन करता है। यह बिना किसी libvncserver आधारित VNC सर्वर से कनेक्ट करने के लिए noVNC (जिसे मैंने भी बनाया है) को websockify की आवश्यकता के बिना अनुमति देता है

+0

इसके लिए मुझे सर्वर पर wbesockify स्थापित करने की आवश्यकता है, है ना? अगर मैं एक मनमाना आईआरसी सर्वर तक पहुंचना चाहता हूं तो क्या होगा? – Veehmot

+0

आप क्लाइंट पर, सर्वर पर या पूरी तरह से अलग सिस्टम पर websockify चला सकते हैं। ब्राउजर को बस websockify और websockify के लिए कनेक्शन खोलने में सक्षम होना चाहिए सर्वर से कनेक्शन खोलने में सक्षम होना चाहिए। – kanaka

1

Inspircd एक अनौपचारिक मॉड्यूल, आप m_websockets कहा जाता है स्थापित कर सकते हैं कनेक्शन की अनुमति के लिए है। एक सर्वर जिसमें मॉड्यूल स्थापित और सेटअप है, आपको वेबबॉकेट्स के माध्यम से सर्वर से कनेक्ट करने की अनुमति देगा।

https://github.com/barosl/inspircd-m_websocket

0

@ kanaka के websockify पर विस्तार, इस परियोजना यह करने के लिए लगता है:

एक एचटीएमएल 5 irc ग्राहक, WebSocket और websockify के साथ बनाया।

[है] autojoin, privmsg चैनल, विषय, शामिल, उपयोगकर्ता सूची, भाग, निक के लिए समर्थन है।

https://github.com/confact/dunirc