2010-04-29 7 views
7

मेरे पास एक आईफोन ऐप है जो बोनजोर के माध्यम से प्रकाशित होता है। मैक समकक्ष काम करता है, वे सिंक और डेटा का आदान-प्रदान करते हैं। अब मुझे विंडोज़ में उस छोटे मैक ऐप को पोर्ट करना होगा। मैंने .NET के साथ जाने का फैसला किया है (क्योंकि मुझे यही पता है)।.NET से ऐप्पल की बोनजोर सेवा का उपयोग करना?

ऐप जटिल नहीं है, लेकिन मैं शुरुआती चरणों में हूं। मुझे बोनजोर सेवाओं को ब्राउज़/खोजना होगा। इस कार्य के लिए, मैंने मोनो.जेरोकॉन्फ़ और ऐप्पल के नवीनतम एसडीके को डाउनलोड किया है (जिसमें कुछ सी # नमूने शामिल हैं)।

मैं वास्तव में कोड चिपका नहीं रहा हूं क्योंकि मैं वास्तव में नमूने कॉपी/पेस्ट कर रहा हूं। वास्तव में, मोनो। जेरोकॉन्फ़ में एक MZClient.exe है जिसका उपयोग "सभी एपीआई" परीक्षण करने के लिए किया जा सकता है।

मेरा पहला परीक्षण एक ही बॉक्स में था- दो cmd.exe खोलें और एक सेवा पंजीकृत करने के लिए एक एमजेक्लिएंट लॉन्च करें और दूसरी ओर, इसे लॉन्च करें और "इसे खोजें"।

यह काम नहीं करता है।

C:\MZ>MZClient -v -p "_http._tcp 80 mysimpleweb” 

*** Registering name = 'mysimpleweb', type = '_http._tcp', domain = 'local.' 
*** Registered name = ‘mysimpleweb’ 

दूसरे टर्मिनल पर::

यहाँ सर्वर है

c:\MZ>MZClient -v -t "_http._tcp" 
Creating a ServiceBrowser with the following settings: 
    Interface   = 0 (All) 
    Address Protocol = Any 
    Domain   = local 
    Registration Type = _http._tcp 
    Resolve Shares = False 

Hit ^C when you're bored waiting for responses. 

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

नोट: मेरे पास ऐप्पल बोनजोर सेवा (ऊपर और चल रही) और ऐप्पल एसडीके (बाद में स्थापित) है।

यह देखते हुए कि यह काम नहीं करता है, मैंने आगे बढ़कर ऐप्पल एसडीके को आजमाने का फैसला किया जिसमें इंटरऑप और कुछ पूर्व संकलित नमूने (और इसका स्रोत कोड) है।

लघु कहानी, न तो mDSNBrowser.exe और न ही SimpleChat.exe काम/कुछ भी देखें/देखें।

मेरा बॉक्स समानांतर के तहत एक विन 7 है, लेकिन यह किसी भी चीज को प्रभावित नहीं कर रहा है, यह देखते हुए कि मूल एक्सपी एक ही समस्या का प्रदर्शन करता है।

मैं इतना गलत क्या कर रहा हूं?

+0

बस शुद्धता के लिए, मेरा मानना ​​है कि सेवा प्रकार एक बिंदु के साथ समाप्त होना चाहिए, तो यह "होगा _http._tcp।" – Thompsonian

+0

मुझे इसके साथ कुछ समस्याएं थीं। कारण यह नहीं मिला कि यह संदेश पंप आपके एमडीएसएनब्रोसर के लिए सही तरीके से काम नहीं कर रहा है। महत्वपूर्ण यह भी है कि आपने क्या क्रियाएं पंजीकृत की हैं। – Yoda

उत्तर

4

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

+0

धन्यवाद मैथ्यू, मैंने कोशिश की और प्रबंधित किया कमांड लाइन के एमजेड क्लाइंट से ऐप्पल नमूने के साथ बनाए गए "सिंपलचैट" सत्र देखें। मैंने httpccp और p2pchat udp का उपयोग करने के लिए SimpleChat को संशोधित किया है और मैं सत्र देख सकता हूं। मैं जांच जारी रखूंगा। यह काम करने के लिए प्रतीत नहीं होता है सत्र * * mzclient के साथ बनाया गया (जो मुझे वास्तव में परवाह नहीं है) –

1

यहां न्यूजेट संस्करण के रूप में कुछ महत्वपूर्ण संदर्भ हैं, गिट और ग्रोल विंडोज डाउनलोड में स्रोत संस्करण वर्तमान में सभी के पास लगता है थोड़ा अलग कार्यान्वयन। NuGet पैक मेरे लिए काम नहीं किया, इसलिए मैंने स्रोत डाउनलोड किया, अनुशंसित परिवर्तन किए और पुनः संकलित किया।

How to register a service with Mono.ZeroConf?

http://bryanprice.info/2011/01/29/mono-zeroconf-on-windows/

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