2013-09-03 3 views
15

का उपयोग करने के लिए प्रमुख परिदृश्य क्या है, बस आश्चर्य कीजिए कि हमें किस प्रकार के आवेदन या मामले के दृष्टिकोण से Socket.IO की आवश्यकता है।सॉकेट.आईओ

मैं iOS डेवलपर जानते हुए भी ओपन सोर्स प्रोजेक्ट socket.IO-objc

आमतौर पर हम जरूरत HTTP या HTTPS सर्वर के साथ संवाद करने के लिए, सॉकेट वास्तविक समय संचार (हमेशा HTTP से लाइव रखना चाहिए)

तक पहुँचने के लिए करना है पाने के लिए कर रहा हूँ
+0

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

उत्तर

25

सॉकेट.आईओ जैसे पुस्तकालयों की आवश्यकता होती है जब हमें अपने ऐप में वास्तविक समय की आवश्यकता होती है। मुझे इसे थोड़ा और विस्तार से समझाएं। आइए मान लें कि आप एक गेम विकसित कर रहे हैं, जो मल्टीप्लेयर है और 2 या अधिक उपयोगकर्ता एक साथ खेल सकते हैं। फिर उस स्थिति में आप कई कारणों से HTTP या HTTPS कॉल नहीं कर पाएंगे और उनमें से एक यह है कि उनका पैकेट आकार बड़ा है और अन्य यह है कि ये कॉल बहुत धीमी हैं। ऐसे परिदृश्यों में हम सर्वर से डेटा भेजने और प्राप्त करने के लिए सॉकेट जैसे पुस्तकालयों का उपयोग करते हैं। सॉकेट वास्तव में तेज़ हैं और केवल उन डेटा पैकेट भेजने में सक्षम हैं जिनकी आवश्यकता है। HTTP प्रोग्रामिंग का उपयोग करके आप कभी भी मल्टीप्लेयर गेम या कोई ऐप नहीं बना सकते जो वास्तविक समय के आधार पर सर्वर के साथ बातचीत कर रहा है।

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

+3

यह ध्यान दिया जाना चाहिए कि यह सॉकेट.आईओ के बिना भी करने योग्य है। आधुनिक ब्राउज़र्स समर्थन वेबसाइट्स। सॉकेट.आईओ इनका उपयोग करेगा, और यदि आवश्यक हो तो FlashSockets पर फ़ॉलबैक कर सकता है। – Schoening

1

मैं socket.io का उपयोग कर चैट एप्लिकेशन पर भी काम कर रहा हूं। तो ऐसा लगता है कि socket.io के साथ हर चीज को बदलना प्रतीत होता है। यह मुझे संदेह और जिज्ञासा में बना रहा है। मैं पूरी तरह से रीयल-टाइम ऐप से सहमत हूं जैसे socket.io के लिए चैट सूट। हालांकि राउंड-ट्रिप संचार (जैसे उपयोगकर्ता लॉगिन) है जो HTTP के लिए अधिक उपयुक्त है।

-2

सॉकेट.आईओ रीयलटाइम वेब अनुप्रयोगों के लिए एक जावास्क्रिप्ट लाइब्रेरी है। यह वेब क्लाइंट और सर्वर के बीच रीयलटाइम, द्वि-दिशात्मक संचार को सक्षम बनाता है। इसमें दो भाग हैं: क्लाइंट-साइड लाइब्रेरी जो ब्राउज़र में चलती है, और node.js. के लिए सर्वर-साइड लाइब्रेरी है। दोनों घटकों में लगभग समान एपीआई है।

+4

आदमी, जिस व्यक्ति ने सलाह मांगी है उसे प्रतिलिपि/पेस्ट पोस्ट के रूप में रखने की आवश्यकता नहीं है –

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