2012-01-14 19 views
8

मैं रेल ऐप पर काम कर रहा हूं जो मुख्य रूप से विभिन्न मोबाइल क्लाइंट (आईओएस, एंड्रॉइड इत्यादि) के लिए एपीआई द्वारा उजागर किया जाएगा। एप्लिकेशन में सर्वर को डेटा सबमिट करने (एपीआई कॉल के माध्यम से) शामिल है, लेकिन जो मैं शामिल करना चाहता हूं वह इस डेटा को अन्य क्लाइंट को धक्का देने की क्षमता है। सामान्य अवधारणा एक मैसेजिंग ऐप के समान है, जहां मैं सर्वर से सर्वर को एक संदेश सबमिट करता हूं और रिसीवर को सर्वर से संदेश धक्का दिया जाता है।रेल ऐप से ग्राहकों को डेटा पुश करें

इस समय मुझे पता है कि एकमात्र तरीका सर्वर को लगातार मतदान करना है, लेकिन इसके मुकाबले बेहतर तकनीकी समाधान होना चाहिए। कोई विचार?

उत्तर

4

आप जल्दी के लिए http://www.pusher.com

पुशर एक की मेजबानी एपीआई है की जांच करनी चाहिए, आसानी से और सुरक्षित वेब और मोबाइल ऐप्स के लिए स्केलेबल वास्तविक समय कार्यक्षमता जोड़ने।

आप स्वयं के द्वारा होस्ट समाधान की जरूरत है, तो आप बाहर slanger मणि https://github.com/stevegraham/slanger पुशर क्लाइंट लाइब्रेरी पर सर्वर कार्यान्वयन है जो जांच होनी चाहिए। जब आपको लगता है कि आपको होस्ट किए गए समाधान की आवश्यकता है, तो आप बस यूआरएल बदल दें।

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

+0

धन्यवाद, मैं इस परियोजना के रूप में एक स्वयं के द्वारा होस्ट समाधान के लिए देख रहा था चाहते हो सकता है काफी हद तक मेरी जानकारी विकसित करने के लिए मेरी जरूरत पर आधारित है – Jack

2

रूबी यह खुद घटना प्रसंस्करण पुस्तकालय, एक मणि की तरह लागू किया है है:

https://github.com/eventmachine/eventmachine

शायद यह आप में मदद करता है

4

मैं पृष्ठ के भीतर एक WebSocket का उपयोग कर पुश करने के लिए पर विचार करेंगे अद्यतन।

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

संपादित करें:

इसके अलावा, इस एक परियोजना है कि रेल के साथ फेय को जोड़ती है। यह काफी नया है, लेकिन जो भी आप चाहते हैं वह कर सकता है। Faye-Rails

1

मैं किसी अन्य समाधान पर event machine पसंद करता हूं। यह कुछ हद तक जटिल है कि फेय लेकिन आप इवेंट मशीन का उपयोग करके अधिक परिष्कृत कोड लिख सकते हैं।

आप की जाँच घटना मशीन पर this peepcode स्क्रीनकास्ट

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