2016-10-20 9 views
7

मैं उन्हें पहली बार उपयोग करने की कोशिश कर रहा हूं और आश्चर्य करता हूं कि मैं सही दिशा में जा रहा हूं।Django चैनल और socket.io-client

यहाँ मेरी समझ रहे हैं,

socket.io WebSocket के चारों ओर एक आवरण है, और वापस उप इष्टतम समाधान पर गिर जाता है जब WebSocket उपलब्ध नहीं है।

डीजेगो चैनल वेबसाइकिल भी बात कर सकते हैं।
(मैं इसे सिस्टम की तरह एक संदेश कतार के रूप में Django धर्मान्तरित लगता है। हालांकि यह समझ या गलतफहमी यह सवाल प्रभावित करना चाहिए) तो मैं ग्राहक पर सर्वर और socket.io-क्लाइंट पर Django चैनलों का उपयोग करने के लिए कोशिश कर रहा हूँ

socket.io एपीआई जो

socket.on(type, (payload)=> {})

तरह लग रहा है Django चैनलों जबकि

message.reply_channel.send({ "text": json })

का एक रूप "पाठ" socket.on(type) की type है गया है?

क्या डीजेगो चैनल और सॉकेट.ओ-क्लाइंट एक-दूसरे से बात कर सकते हैं?

उत्तर

1

Socket.IO README से:

नोट: Socket.IO एक WebSocket क्रियान्वयन नहीं है। यद्यपि सॉकेट.आईओ वास्तव में संभवतः वेबस्केट को परिवहन के रूप में उपयोग करता है, लेकिन यह प्रत्येक पैकेट में कुछ मेटाडेटा जोड़ता है: जब संदेश स्वीकृति की आवश्यकता होती है तो पैकेट प्रकार, नामस्थान और एएसी आईडी की आवश्यकता होती है। यही कारण है कि एक वेबसाकेट क्लाइंट सफलतापूर्वक सॉकेट.आईओ सर्वर से कनेक्ट नहीं हो पाएगा, और एक सॉकेट.आईओ क्लाइंट वेबसॉकेट सर्वर (जैसे ws: //echo.websocket.org) से कनेक्ट करने में सक्षम नहीं होगा। कृपया प्रोटोकॉल विनिर्देश here देखें।

तो, आपको चैनल को सॉकेट.आईओ के साथ सीधे काम करने की उम्मीद नहीं करनी चाहिए। Global browser support for websockets is at 93%, जो संभवतः websocket API का उपयोग करने के लिए पर्याप्त है।

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