बेस्ट वेब रूबी ऑन रेल्स सॉकेट टूल [बंद]


81

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

  • खुला स्त्रोत
  • कुछ तरह के चैनल सपोर्ट करते हैं
  • रेल के लिए सहायक (और रेल 3 के साथ काम करना)

जवाबों:


80

यदि आप सादा WebSocket कार्यान्वयन खोज रहे हैं, तो EM-WebSocket संभवतः सर्वोत्तम है। यदि आप गैर-फ्लैश फ़ॉलबैक (पुराने फोन या iPhone 3 जी की तरह) के लिए समर्थन चाहते हैं, तो आपको सॉकेट.आईओ-रैक की कोशिश करनी चाहिए ।

: पुशर की तरह पूर्ण विशेषताओं कार्यान्वयन के लिए (प्रमाणीकरण और चैनलों साथ) आप दो opensource विकल्प हैं Socky और रथ

Socky EM-WebSocket (जैसे पुशर) का उपयोग करके एक शुद्ध रूबी परियोजना है और इसमें रेल के लिए कुछ अच्छे उपकरण हैं। दूसरी ओर जुगोरनॉट में अधिक इतिहास (और अधिक उपयोगकर्ता हैं।) लेकिन नया संस्करण Node.JS (क्लाइंट अभी भी रूबी-आधारित है) को फिर से लिखा गया था और रेडिस की आवश्यकता थी। दोनों को ठीक काम करना चाहिए।


4
रुचि रखने वालों के लिए, अब Juggernaut को हटा दिया गया है । लेखक इसके बजाय एचटीएमएल 5 सर्वर-साइड ईवेंट्स का उपयोग करने की सलाह देता है, और अपग्रेडेशन-घोषणा लिंक में एक अच्छी टिप्पणी प्रदान करता है।
जेफ डिकेई

3
@ जेफ की टिप्पणी के अनुगमन के रूप में, रेल 4 एक्शनकंट्रोलर :: स्ट्रीमिंग मॉड्यूल के माध्यम से एसएसई के लिए अंतर्निहित समर्थन प्रदान करता है। डॉक्स यहां: api.rubyonrails.org/classes/ActionController/Streaming.html
user456584

आयोडीन HTTP / WebSocket सर्वर एक सी विस्तार रूबी है कि देशी पब / उप के साथ-साथ Redis कनेक्टिविटी प्रदान करता है। इसका उपयोग प्लज़ी फ्रेमवर्क द्वारा किया जाता है , जिसे रेल्स में मिडलवेयर के रूप में भी इस्तेमाल किया जा सकता है।
रहस्य

19

पर एक नजर डालें फेय



3
रूबी टूलबॉक्स - माणिक-toolbox.com/categories/HTTP_Pub_Sub के अनुसार, फ़ेई की दिसंबर 2012 तक उच्च लोकप्रियता रेटिंग है ।
सेबस्टियन पैटन

1
क्या वास्तव में वेबस्केट और रेडिस का उपयोग करता है जैसे बाजीगर ने किया था?
जॉनमेर्लिनो


9

एक और विकल्प जो आपकी आवश्यकताओं को पूरा कर सकता है, लेकिन इनमें से एक के साथ जाना थोड़ा अधिक गूढ़ है JRuby appservers और प्रयोग जावा में से एक कार्यान्वयन WebSockets। जेट्टी ( त्रिनिदाद के लिए आधार ) को सबसे अच्छा वेबसोकेट समर्थन उपलब्ध है। एक अन्य विकल्प (जो बहुत अच्छा है) संदेश समापन बिंदु के लिए वेबसोकेट रैपर के साथ एक संदेश सर्वर का उपयोग करना है। एक उदाहरण के रूप में, Torquebox (एक समर्पित Jruby / Rails appserver) ने HornetMQ के लिए अंतर्निहित समर्थन किया है, जिसमें वेबसैट के लिए समर्थन है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.