2011-12-02 22 views
20

आईफोन पर अगर मैं कस्टम सेवा बना देता हूं उदाहरण के लिए "_test._tcp.local।" बोनजोर में मैं वाईफाई या/और ब्लूटूथ के माध्यम से इस सेवा को खोज/प्रसारित कर सकता हूं।एंड्रॉइड ब्लूटूथ पर ज़ीरोकॉन्फ़/बोनजोर का समर्थन कर सकता है? टीसीपी/आईपी के बारे में कैसे?

एंड्रॉइड पर यह संभव है?

मुझे पता है कि jmDNS है लेकिन मुझे लगता है कि यह केवल वाईफ़ाई/नेटवर्क, ब्लूटूथ के माध्यम से काम करता है।

धन्यवाद

सेवा Alekseyev, जो इनाम की पेशकश की द्वारा संपादित: मैं समाधान के बाद नहीं कर रहा हूँ (Zeroconf बिना ब्लूटूथ या ब्लूटूथ बिना Zeroconf की तरह)। मैं असली चीज़ के बाद हूँ।

+0

करने से दोहराया गया है मैं बहुत ब्लूटूथ के बारे में जवाब जानने के उत्सुक हूँ ... JmDNS ब्लूटूथ द्वारा उजागर Bonjour सेवाओं का पता लगाने का विज्ञापन कर रहा है ?? – fvisticot

+0

मूल बातें से शुरू करें: एंड्रॉइड में ब्लूटूथ पर टीसीपी/आईपी चलाने का कोई तरीका है? यदि ऐसा है, तो कोई उस विशेष इंटरफ़ेस पर जेएमडीएनएस को सिक्योर करने में सक्षम हो सकता है। शायद सिर्फ एक्सपोजर, खोज नहीं, या इसके विपरीत। –

+0

संबंधित: [लिनक्स में ब्लूटूथ पर टीसीपी/आईपी] (http://giovanni.wordpress.com/2007/04/06/how-to-use-tcpip-over-bluetooth/) –

उत्तर

0

आप ब्लूटूथ पर सॉकेट जैसे टीसीपी बनाने के लिए BluetoothSocket और BluetoothServerSocket का उपयोग कर सकते हैं। https://github.com/twitwi/AndroidDnssdDemo

आप इस तरह है कि यह ब्लूटूथ सॉकेट बनाता है, तो ब्लूटूथ पर है jmdns पुस्तकालय संशोधित करना पड़ सकता है, अन्यथा सरल सॉकेट बनाता है:

यहाँ एंड्रॉयड dnssd का एक नमूना है। सॉकेट संचार को एक अलग वर्ग में एकीकृत करें जो सॉकेट को सशर्त बनाता है।

+0

उम द्वारा उपयोग नहीं की जा रही हैं, मैं आखिरकार आईओएस-टू-एंड्रॉइड और इसके विपरीत सेवा खोज के बाद हूं। मुझे नहीं लगता कि वे अंतःक्रिया करेंगे, क्योंकि आईओएस कार्यान्वयन टीसीपी/आईपी-आधारित है। –

+0

हां, एक उच्च संभावना है, लेकिन प्रलेखन यह टीसीपी सॉकेट के समान कहता है .. तो इसे आज़माएं .. – Ronnie

+0

नमूना ब्लूटूथ संगतता का दावा नहीं करता है और इसे लागू नहीं करता है। मेरे पास जेएमडीएनएस थोड़ी देर के लिए मेरे ऐप में एकीकृत था; वाईफाई पर टीसीपी/आईपी पर यह आईओएस ठीक से बात करता है। अब, सिर्फ इसलिए कि इंटरफेस समान है, इसका मतलब यह नहीं है कि आरएफसीओएमएम सॉकेट टीसीपी/आईपी वाले लोगों से बात कर सकते हैं। वे अलग-अलग परिवहन हैं। मुझे यह जानने के लिए बीटी के बारे में पर्याप्त जानकारी नहीं है कि एंड्रॉइड के ढेर के ऊपर स्क्रैच से टीसीपी/आईपी को फिर से लागू करना संभव है या नहीं। –

0

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

अन्य कारणों से यह काम नहीं करेगा कर रहे हैं:

  • एप्पल IOS उपकरणों को आश्वस्त करने के केवल एक अन्य IOS उपकरणों के लिए बात करेंगे तंत्र की एक जोड़ी का उपयोग करता है। तो अगर आप एंड्रॉइड को बोनजोर-ओवर-ब्लूटूथ में बात करने के लिए प्राप्त करेंगे, तो यह केवल एंड्रॉइड-टू-एंड्रॉइड काम करेगा।
  • एमएफआई प्रोग्राम में ऐप्पल प्रमाणित डिवाइसों में एक विशेष क्रिप्टो चिप है जो ऐप्पल द्वारा प्रदान की जाती है। मुझे यकीन नहीं है कि यह बोनजोर-ओवर-ब्लूटूथ कनेक्शन पर भी लागू होता है, लेकिन मुझे लगता है कि यह करता है।

इसके बजाय आप ब्लूटूथ 4 ले का उपयोग कर इस पर गौर कर सकता है - कम से कम यह है कि iOS 5 में शुरू होने वाले एक दास प्रोफ़ाइल उपलब्ध कराने, और iOS 6 में एक मास्टर प्रोफ़ाइल का समर्थन करने के

3

पर नहीं बढ़ाया के लिए एक एप्पल एपीआई ब्लूटूथ, क्योंकि एंड्रॉइड वर्तमान में ब्लूटूथ पर टीसीपी/आईपी का समर्थन नहीं करता है, और एंड्रॉइड के मूल एनएसडी समर्थन (network service discovery) आईपी पर काम करता है।

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

भाग हमारे Dear Android video response इस सवाल