2011-12-02 7 views
20

iPhone'da özel hizmet oluşturursam örneğin "_test._tcp.local." Bonjour'da WiFi veya Bluetooth ile bu servisi arayabilir/yayınlayabilirim.Android, Bluetooth üzerinden Zeroconf/Bonjour'u destekleyebilir mi? TCP/IP hakkında nasıl?

Android'de bu mümkün müdür?

jmDNS olduğunu biliyorum ama anladığım kadarıyla yalnızca WiFi/Ağ üzerinden çalışıyor, değil Bluetooth.

Teşekkür

ödül sundu Seva Alekseyev tarafından

DÜZENLEME: Ben geçici çözümler peşinde değilim (Zeroconf sans Bluetooth veya Bluetooth sans Zeroconf gibi). Ben gerçek şeyin peşindeyim.

+0

ila çoğaltıldığı JmDNS bluetooth tarafından maruz bonjour hizmetlerini algılamak alowed edilir ?? – fvisticot

+0

Temel bilgilerden başlayalım: Android'de Bluetooth üzerinden TCP/IP'yi çalıştırmanın bir yolu var mı? Eğer öyleyse, o belirli arayüzde JmDNS'yi bulabilir. Belki sadece pozlama, keşif değil ya da tam tersi. –

+0

İlgili: [Linux'ta Bluetooth üzerinden TCP/IP] (http://giovanni.wordpress.com/2007/04/06/how-to-use-tcpip-over-bluetooth/) –

cevap

0

Bluetooth üzerinden TCP benzeri soketler oluşturmak için BluetoothSocket ve BluetoothServerSocket'u kullanabilirsiniz. Aksi basit prizleri oluşturur Sen bluetooth ON ise o bluetooth yuvalarını yaratacak şekilde jmdns kütüphane düzenlenmesi gerekebilir https://github.com/twitwi/AndroidDnssdDemo

: Burada

android dnssd bir örneğidir. Soket iletişimini, soket koşullu olarak oluşturan farklı bir sınıfta muhafaza edin.

+0

Um tarafından kullanılmayacak, nihayetinde iOS'tan Android'e ve tam tersi servis keşfinden sonra. IOS uygulaması TCP/IP tabanlı olduğu için bunların birlikte çalışacağını düşünmüyorum. –

+0

evet, Bu yüksek bir olasılık, ancak belgelerin TCP soketine benzer olduğunu söylüyor .. Bu yüzden bir deneyin ver .. – Ronnie

+0

Örnek, Bluetooth uyumluluğu iddia etmez ve uygulamıyor. Bir süredir JmDNS uygulamasına entegre ettim; WiFi üzerinden TCP/IP üzerinden iOS için iyi konuşur. Şimdi, arayüz benzer olduğu için, RFCOMM soketlerinin TCP/IP ile konuşabileceği anlamına gelmiyor. Bunlar farklı ulaşımlar. BT'nin, TCP/IP'yi Android'in yığınının üstünden sıfırdan yeniden oluşturup oluşturmayacağını bilmek için yeterli bilgim yok. –

0

Bunun şu anda neden mümkün olmaması için birkaç neden var. Sorunuzla en ilgili olanı - muhtemelen deneyimlediğiniz gibi - jmDNS, hizmetleri yayınlamak veya gözatmak için bir TCP/IP bağlantısı gerektirir (bağlanmak için bir IP adresi gerektirir). Diğer yanıtlar & durumuyla ilgili olarak, Android'in şu anda sunmadığı bir yerleşik PANU bağlantısına ihtiyacınız var. işe yaramaz

diğer nedenleri şunlardır:

  • Elma sadece diğer iOS cihazlar konuşacaktır iOS cihazları temin etmek mekanizmaların bir çift kullanır. Yani Android'i Bonjour-over-Bluetooth üzerinden konuşsa bile, Android'den Android'e çalışır.
  • MFi programındaki Apple onaylı aygıtlarda, Apple tarafından sağlanan özel bir kripto çipi vardır. Bunun, Bluetooth üzerinden Bonjour bağlantıları için geçerli olup olmadığından emin değilim, ama varsayalım.
yerine Bluetooth 4 LE kullanarak içine görünebilir

- en azından bir Köle profili sağlayan iOS 5'de başlayan ve iOS 6'da üzerinde

3

Değil Usta profili desteklemek için genişletilmiş için bir Apple API var Bluetooth, şu anda Android şu anda bluetooth üzerinden TCP/IP'yi desteklemiyor ve Android'in doğal NSD desteği (network service discovery) IP üzerinden çalışıyor. Bununla birlikte, bu, Wi-Fi üzerinden çalışmaktadır. Ayrıca Android, Bluetooth'tan daha geniş bir aralık ve pil verimliliği sağlayan Wi-Fi Direct üzerinden hizmet keşfini de desteklemektedir. Servis bulmayı bir wi-fi doğrudan etkinleştirilmiş uygulamaya nasıl entegre edeceğiniz konusunda bir kılavuz için, Android Training lesson'a bakın. Bu cevabın

Bölümleri ... Ben bluetooth ile ilgili cevabı bilmek çok merak ediyorum bizim Dear Android video response bu soruya

İlgili konular