2010-05-16 10 views
5

Ich baue eine App, die Informationen zwischen zwei iPhones sendet. Die App funktioniert gut, aber das einzige Problem, das ich habe, ist, dass ich nicht sagen kann, ob Bonjour Wi-Fi oder Bluetooth wählt, um die Verbindung herzustellen. Ich möchte dem Benutzer erlauben, zu wählen, was er bevorzugt. Gibt es auch eine Möglichkeit, programmatisch zu sagen, ob das Bluetooth des Geräts eingeschaltet ist?Wie kann ich feststellen, ob ein Bonjour-Dienst Wi-Fi oder Bluetooth ist?

+0

Haben Sie eine ähnliche Situation, aber mit verschiedenen Transportschichten. Mein NAS ist sowohl über drahtloses als auch über kabelgebundenes GB-Ethernet zugänglich. Die Samba-Freigaben auf dem NAS werden auf beiden Schnittstellen angekündigt. Aber Bonjour bevorzugt immer die langsamere drahtlose Verbindung. – m000

+0

Da gehts Joe. – Dancreek

Antwort

5

Es gibt keine Möglichkeit zu sagen.

Es ist nur eines dieser seltsamen Dinge.

Und in der Tat gibt es keine Möglichkeit, programmgesteuert WiFi oder Bluetooth zu wählen. Es ist ärgerlich, aber wahr.

Oft Multidevice-Spiele werden eine Warnung für Benutzer: „Achten Sie darauf, Bluetooth zu deaktivieren, um sicherzustellen, dass Sie Ihre WiFi Verbindung verwenden“

Das ist die Situation.

3

Bonjour ist nur ein Service Discovery-Protokoll - es ist egal, welche Art von Netzwerk Sie haben. Es erkennt Dienste über eine Mischung von Netzwerken (z. B. über Bridges und Router), so dass es keinen Sinn macht, einen über Bonjour entdeckten Dienst einem einzelnen Typ von Transportschicht zuzuordnen.