2012-03-19 12 views
5

पर आईफोन पीयर के लिए बोनजोर प्रोटोकॉल का उपयोग करने के लिए वैकल्पिक मैं एक आईफोन/आईपैड ऐप लागू कर रहा हूं जो उपयोगकर्ताओं को बोनोज प्रोटोकॉल का उपयोग करके एक दूसरे को संदेश भेजने की अनुमति देता है। असल में, एक सर्वर बोनजोर पर अपनी सेवा प्रकाशित करता है और उसी वाईफ़ाई से जुड़े क्लाइंट अपनी सेवा खोज सकते हैं और संदेश भेजने शुरू करने के लिए उससे जुड़ सकते हैं। मुझे मिली समस्या यह है कि कुछ राउटर में बोनजोर के साथ समस्याएं प्रतीत होती हैं। घर पर या किसी अन्य जगह पर अपना ऐप चलाने पर यह पूरी तरह से काम करता है। बोनौर सेवाओं की प्रकाशन और खोज बेकार ढंग से काम करती है। हालांकि जब मैंने अपने ऐप के अपार्टमेंट में से किसी एक पर अपने ऐप की कोशिश की, तो कुछ (सभी नहीं) ग्राहकों को प्रकाशित बोनौर सेवा खोजने में सक्षम नहीं थे। मैंने यह भी देखा कि बोनजोर (जैसे ऐप्पल के रिमोट ऐप) का उपयोग करने वाले अन्य ऐप्स भी नेटवर्क पर परेशानी कर रहे थे। कुछ खोदने के बाद मैंने पाया है कि अन्य लोगों को बोनोजर और कुछ राउटर के साथ समान समस्याएं हैं। इसलिए मेरे पास 2 प्रश्न हैं:पीयर

1) क्या किसी को पता है कि बोनजोर के साथ यह समस्या है कि कुछ राउटर के पास एक व्यापक मुद्दा है? दूसरे शब्दों में, यदि मेरा ऐप बिल्कुल काम करने के लिए बोनजोर पर निर्भर करता है, तो क्या मुझे चिंता करना होगा कि यह डब्लूएलएएन नेटवर्क के 50% में काम नहीं करेगा या अधिकांश राउटर को बोनजोर के साथ कोई समस्या नहीं है। जाहिर है, मैं किसी से भी यह नहीं जान सकता कि कैसे हर राउटर बोनजोर पैकेट से संबंधित है लेकिन शायद कुछ नेटवर्किंग गुरु हैं जो मुझे सही दिशा में इंगित कर सकते हैं: -पी।

2) दूसरा, यदि मेरे ऐप को बनाने के लिए बोनोजर प्रोटोकॉल का जोखिम भरा है, तो समान सुविधाओं वाले कुछ विकल्प क्या हैं? जिन सुविधाओं को मैं (अधिमानतः) की ज़रूरत होगी, वे सेवा प्रकाशन और खोज होंगे, बिना उपयोगकर्ताओं को मैन्युअल रूप से अन्य फोन के आईपी पते दर्ज करना होगा।

आपकी मदद के लिए ठीक है धन्यवाद! मैं समझता हूं कि यह एक व्यापक सवाल है लेकिन किसी भी मदद की सराहना की जाती है! :)

+0

क्या आप जांच सकते हैं कि राउटर के पास क्लाइंट-टू-क्लाइंट संचार सक्षम करने की सेटिंग है? कुछ डब्लूएलएएन राउटर एक दूसरे से ग्राहकों को "अलग" करते हैं। यह कितना व्यापक है - इस कार्यक्षमता के साथ कुछ रूटर हैं। क्लाइंट अलगाव प्रभावी होने पर अन्य सेवा खोज प्रोटोकॉल सीधे दो क्लाइंट के बीच काम नहीं करेंगे। – ldx

+0

हैलो। पारितोषिक के लिए धन्यवाद! मुझे इसे देखना होगा। समस्या एक दोस्त के राउटर के साथ आई, इसलिए मुझे इसे देखने के लिए उसे अपनी जगह से जाना होगा। –

उत्तर

3

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

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

नेटवर्क पर tcpdump चलाने का प्रयास करें ताकि यह देखने के लिए कि पैकेट वास्तव में आ रहे हैं या नहीं। मैं एक घर राउटर में नहीं आया है जो उन्हें थोड़ी देर के लिए आगे नहीं भेजता है। यदि वे नहीं हैं, तो आपको कुछ केंद्रीय [इंटरनेट-फेस, शायद?] लुकअप सुविधा के साथ आना होगा। यदि वे दिखाई दे रहे हैं, तो आपके कार्यान्वयन के साथ कुछ है।

मल्टीकास्ट पर सेवा खोज के लिए अपना स्वयं का सरल प्रोटोकॉल लिखने से आपको कुछ भी नहीं रोक रहा है- यह सिर्फ इतना है कि बोनजोर ग्राहकों के लोड पहले से ही लिखी और परीक्षण की गई विभिन्न भाषाओं में से हैं।

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