2013-02-01 23 views
9

मेरे पास एक बैकएंड सर्वर के रूप में सेवा करने वाले रेल के साथ एक आईफोन ऐप है।रेल और आईफोन देशी ऐप के बीच सॉकेट कनेक्शन

अब मुझे सॉकेट कनेक्शन का उपयोग करके चैट कार्यक्षमता को लागू करने की आवश्यकता है।

कई उदाहरण आपको ब्राउज़र में सॉकेट का उपयोग करके चैट को कार्यान्वित करने का तरीका दिखाते हैं।

मुझे यहां क्या चाहिए कि मैं एक एप्लिकेशन को कैसे कार्यान्वित कर सकता हूं जहां आप रेल ऐप में सॉकेट सर्वर बनाते हैं, और क्लाइंट आईफोन ऐप में क्लाइंट जो मैं उन्हें देता हूं उसे सुनता हूं।

मैं फेय ग्राहक बनाने के लिए iphone के लिए (केवल कैसे ब्राउज़र में ग्राहक को लागू करने के लिए दिया उदाहरण) का उपयोग और का उपयोग कर fayeObjC पुस्तकालय की कोशिश की है, लेकिन इस library.I से चैनल सुनने में सक्षम जानता हूँ कि मैं यह लागू करने किया जाना चाहिए नहीं कर रहा हूँ यहाँ गलत

मैं अपना कोड यहां भी साझा करूंगा, लेकिन पहले मुझे यह जानने की ज़रूरत है कि इससे बेहतर समाधान है?

इसके अलावा मैं कुछ उदाहरणों के कुछ लिंक की सराहना करता हूं जहां सॉकेट सर्वर रेल में है और ग्राहक आईफोन ऐप हैं।

किसी भी मदद की सराहना करते हैं और इसे लागू करने के लिए ज्यादातर सही दिशा की आवश्यकता होती है।


अद्यतन

मैं फिर से फेय संयोजन की कोशिश की और यह अभी भी अधिक समाधान की तलाश में worked.Although।

+1

शायद आपको थोड़ा सा मदद मिलेगी ... http://www.raywenderlich.com/3932/ कैसे-टू-बिल्ड-ए-सॉकेट-आधारित-आईफोन-एप-एंड-सर्वर और http://boddhisattvadedicates.blogspot.in/2011/08/chat-plication-using-ruby.html या http: // quickblox। कॉम/मॉड्यूल/चैट/ – TonyMkenu

+0

अरे इन लिंक के लिए आपको बहुत बहुत धन्यवाद। कुछ अवधारणाओं के बारे में बहुत कुछ स्पष्ट करने में मदद मिली। हालांकि मैंने फेय संयोजन एगा की कोशिश की में और यह काम किया। हालांकि अधिक विकल्प कोशिश करना पसंद करेंगे। –

+0

आपकी मदद करने में खुशी हुई – TonyMkenu

उत्तर

8

आप के बारे में TCP सॉकेट जाँच कर सकते हैं:

गम्यता और कैसे नए संदेश प्राप्त करते हुए अपने आवेदन पृष्ठभूमि में है (: Using Internet Sockets

आप सहकर्मी से सहकर्मी संचार (चैट) के मन में दो प्रमुख समस्याओं रखना चाहिए -

अगला लिंक एक व्यापक नेटवर्किंग गाइड है सूचनाएं प्राप्त करें)। अंतिम के लिए आप एपीएनएस का उपयोग कर सकते हैं: एक अदृश्य अधिसूचना आईफोन को धक्का देगी जो दर्शाती है कि एक नया संदेश पढ़ने के लिए तैयार है। तो आपका ऐप अपठित संदेशों (व्हाट्सएप की तरह ऐप करता है) के लिए अनुरोध करेगा।

टीसीपी सॉकेट के अलावा आप websockets (HTTP - इसलिए कोई फ़ायरवॉल समस्या नहीं है) का उपयोग कर सकते हैं। कक्षा में सर्वश्रेष्ठ - Socket.IO। "एक्स्टेंसिबल के लिए खड़ा है - XMPP: यहाँ आप विकि https://github.com/learnboost/socket.io/wiki

यहाँ एक उदाहरण iOS chat client for socket.io & node.js backend

के लिए (तुम वहाँ रूबी भी के लिए एक एक्सटेंशन मिल जाएगा) अस्पष्ट

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

यहां आपको आईओएस के लिए एक जैबर क्लाइंट विकसित करने के बारे में सब कुछ मिलेगा (उपयोगकर्ताओं को साइन इन करने, मित्रों को जोड़ने, और संदेश भेजें; एक जेबबर सर्वर को स्थापित और कॉन्फ़िगर कैसे करें, खाते बनाएं और आईओएस एप्लिकेशन से सर्वर के साथ बातचीत करें http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-server-setup/

0

मुझे पता है कि वर्ग द्वारा SocketRocket एक मजबूत देशी उद्देश्य-सी लाइब्रेरी है। लेकिन यह चैनल अबास्ट्रक्शन की पेशकश नहीं करता है जिसे आप ढूंढ रहे हैं।

यदि आप वेबसॉकेट कनेक्शन आउटसोर्सिंग पर विचार करेंगे तो आप Pusher जैसे होस्टेड सेवा का उपयोग कर सकते हैं, जिसके लिए मैं काम करता हूं। आप pusher-gem का उपयोग कर चैनलों पर संदेश (ट्रिगर ईवेंट) प्रकाशित कर सकते हैं। और आप Pusher's Objective-C libraries में से किसी एक का उपयोग करके चैनलों की सदस्यता ले सकते हैं और संदेश प्राप्त कर सकते हैं।

अन्य समाधानों में उद्देश्य-सी पुस्तकालय भी होंगे और आप इन realtime web tech guide के माध्यम से उनकी एक सूची पा सकते हैं।

+0

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

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