2013-06-24 11 views
12

का उपयोग कब करें, मैं नोडजेज़ में प्रोग्रामिंग कर रहा हूं, मैंने देखा है कि सॉकेट.ओ और AJAX कॉल को नोड सर्वर पर कैसे उपयोग करें। Socket.io AJAX को बदलने के लिए डिज़ाइन किया गया है? मुझे यह जानकर उत्सुकता है कि किस मामले में socket.io का उपयोग करना अच्छा होता है और कौन सा AJAX अच्छा है। इनपुट के लिए धन्यवाद।socket.io का उपयोग कब करें और AJAX

उत्तर

24

ठीक है, मुख्य चीज़ों में से एक वेब सॉकेट (सॉकेट.io के माध्यम से) प्रदान करता है कि AJAX की कमी सर्वर धक्का है। तो AJAX के साथ यदि आप सर्वर पर नई घटनाओं के बारे में जानना चाहते हैं (उदाहरण के लिए एक अलग उपयोगकर्ता ने आपको एक संदेश भेजा है), तो आपको सर्वर मतदान करना होगा, जिसका अर्थ है कि आप अपेक्षाकृत लगातार आवधिक लूप में AJAX अनुरोध भेजते हैं। अधिकांश समय सर्वर प्रतिक्रिया देता है कि कुछ भी नया नहीं है, लेकिन कभी-कभी जब कुछ नया होता है, तो क्लाइंट इसके बारे में जान सकता है।

वेब सॉकेट सर्वर को मतदान के बिना क्लाइंट को सक्रिय रूप से नोटिस करने की अनुमति देता है। इसलिए यदि आपके एप्लिकेशन में किसी भी प्रकार की जानकारी है जिसे सर्वर पर शुरू करने की आवश्यकता है और ब्राउज़र में दिखाया गया है, तो वेब सॉकेट एक बेहतर समाधान है।

  • अनुरोध/प्रतिक्रिया मॉडल
    • ajax या वेब सॉकेट अनिवार्य रूप से बराबर, पारंपरिक रूप भी पोस्ट ठीक
  • एक घटना धारा मॉडल में सर्वर के लिए घटनाओं को जमा में सर्वर से डेटा भेजने से
    • वेब सॉकेट सबसे अच्छे हैं, कुछ अजेक्स के माध्यम से नकल किया जा सकता है
  • सर्वर से ब्राउज़र पर घटनाओं को धक्का देना
    • वेब सॉकेट सर्वश्रेष्ठ हैं, AJAX लंबे मतदान, फ़्लैश, आदि के माध्यम से नकल किया जा सकता है (सॉकेट.ओ में कई फ़ॉलबैक हैं जो वास्तविक वेब सॉकेट उपलब्ध नहीं हैं)।
  • पुराने ब्राउज़र, कुछ मोबाइल प्लेटफार्मों
    • वेब सॉकेट समर्थन वहाँ नहीं है, इसलिए ajax अपनी फ़ॉलबैक
+0

त्वरित उत्तर के लिए धन्यवाद है। तो जब तक आपके पास सक्रिय संचार के लिए वेब सॉकेट का अन्यथा उपयोग करने का कोई अच्छा कारण न हो। क्या वेब सॉकेट के पास कोई नुकसान है? –

+0

वेब सॉकेट के लिए ब्राउज़र समर्थन अभी तक पूर्ण नहीं है क्योंकि यह अजाक्स के लिए है, खासकर मोबाइल पर। सभी नई प्रौद्योगिकियों की तरह, उनके चारों ओर उपकरण और सामुदायिक ज्ञान उतना परिपक्व नहीं है जितना कि यह अजाक्स के लिए है। प्रॉक्सी और वेब सर्वरों के साथ भी तैनाती चुनौतियां हो सकती हैं जो वेब सॉकेट काम करने से पहले विशिष्ट कॉन्फ़िगरेशन की आवश्यकता होती है। –

+0

@ पीटर लियोन तो अगर मैं अधिसूचना प्रणाली बना रहा हूं तो वेब सॉकेट सर्वश्रेष्ठ हैं, है ना? –

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