2011-12-17 12 views
41

अगर यह प्रश्न डुप्लिकेट है तो कृपया मुझे सही करें। node.js के संबंध में, मैं क्लाइंट एप्लिकेशन से सर्वर अनुप्रयोग में रीयल-टाइम सॉकेट कनेक्शन के लिए socket.io का उपयोग कर रहा हूं। मैंने अभी इंजन.io के बारे में सुना है, इंजन.io socket.io के लिए एक प्रतिस्थापन है? मैं engine.io वेबसाइट पर किसी भी उपयोगी जानकारी नहीं मिल सकाengine.io और socket.io के बीच क्या अंतर है?

अग्रिम धन्यवाद

उत्तर

81

engine.io socket.io की तुलना में कम स्तर पुस्तकालय है।

इंजन Socket.IO क्या कनेक्ट एक्सप्रेस है।

यदि आप निचले स्तर के अमूर्तता चाहते हैं, तो इंजन.io का उपयोग करें। यदि आप एक वेबसाईट अबास्ट्रक्शन चाहते हैं, तो socket.io का उपयोग करते रहें।

इंजन.io आप के लिए अधिक रुचि रखते हैं यदि आप socket.io के शीर्ष पर लाइब्रेरी/फ्रेमवर्क बना रहे हैं।

सॉकेट.io यदि आप socket.io के शीर्ष पर कोई एप्लिकेशन बना रहे हैं तो आपके लिए अधिक रुचि है।

+0

लिंक के लिए धन्यवाद, बिल्कुल मुझे क्या चाहिए: डी –

+0

साफ़ उत्तर, धन्यवाद! तो अगर मुझे मल्टीप्लेक्सिंग की ज़रूरत है तो मुझे सॉकेट.आईओ – Julian

18

सॉकेट.io इंजन.io के शीर्ष पर बनाया गया है।

socket.io घंटी और सीटी के साथ engine.io है।

यदि आपको सॉकेट.ओओ (रेडिस स्टोर, समूह इत्यादि) की आवश्यकता नहीं है तो बस इंजन का उपयोग करें।

+1

का उपयोग करना चाहिए मेरा मानना ​​है कि जब सॉकेट.आईओ 1.0 बाहर आता है तो यह इंजन.आईओ पर बनाया जाएगा, लेकिन अभी (0.9) यह नहीं है: https://groups.google.com/d/msg/socket_io/BudZpQiyMbQ/tnm-I-WNJWkJ – bendytree

13

खेल के लिए थोड़ा देर हो चुकी है :-), लेकिन मैं यहां पोस्टरिटी के लिए इसका उल्लेख करूंगा।

"निचले स्तर" होने के अलावा, सबसे महत्वपूर्ण अंतरों में से एक है socket.io websockets से पहले शुरू होगा & अपग्रेड जब तक कि यह एक ऐसा परिवहन न हो जो काम कर सके। दूसरी तरफ, इंजन.ओओ छोटे मतदान के साथ शुरू होगा (और जब तक यह दीवार को हिट नहीं करता तब तक अपग्रेड करें)।

क्यों?

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

इस समय (2013), वेबसाइकिल अभी तक व्यापक नहीं है (जैसे पुराने ब्राउज़र, सेलुलर नेटवर्क इत्यादि) इसलिए एक्सएचआर 1 से शुरू करना स्मार्ट है।

अधिक जानकारी के लिए https://github.com/LearnBoost/engine.io (लक्ष्य अनुभाग) देखें।

7

सॉकेट.आईओ v0.9 पुराना है और थोड़ी छोटी गाड़ी है, और इंजन.आईओ अंतरिम उत्तराधिकारी है। सॉकेट.आईओ v1.0 (जिसे जल्द ही रिलीज़ किया जाएगा) इंजन.आईओ का उपयोग करेगा और v0.9 से काफी बेहतर होगा। , https://medium.com/node-js-javascript/b63bfca0539

Socket.IO कुछ समय के लिए फिर से कनेक्ट करने के बाद कनेक्शन खो जाता है की कोशिश करता है, जबकि Engine.IO:

मेरी परीक्षणों में Engine.IO Socket.IO v0.9 की तुलना में बेहतर प्रदर्शन करने के लिए, तुलना देख दिखाई दिया नहीं करता।

सॉकेट.आईओ कमरे का समर्थन करता है जबकि इंजन.आईओ नहीं करता है।यदि आपके पास अलग-अलग डेटा/चैनल सुनने वाले कनेक्शन होंगे तो आपको कमरों की आवश्यकता होगी (या तो इन मॉड्यूल या अपने स्वयं के कार्यान्वयन के माध्यम से)।

+1

क्या आपका मतलब था "** सॉकेट.आईओ ** कमरे का समर्थन करता है जबकि इंजन.आईओ नहीं करता" (जैसा कि हम आपके ब्लॉग पर पढ़ सकते हैं)? – Curious

+0

हां, सुधार @Zub के लिए धन्यवाद –

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