Возможно ли в принципе устройство Android взаимодействовать с iPhone через Bluetooth / GameKit? - PullRequest
25 голосов
/ 17 января 2010

(меня интересует не чистая теория, а практическая возможность в ближайшей или среднесрочной перспективе, скажем, в течение 12-24 месяцев.)

Как разработчик, знакомый (но не специализирующийся) с двумя основными платформами для смартфонов, стоит ли ожидать появления библиотеки Android, которая может подделать себя в сети на базе GameKit приложения iPhone. Представляется разумным, что интерфейс Bluetooth между платформами может ограничивать возможность создания полезных приложений так же, как модемы приносили пользу платформам PC / Mac через закон Меткалфа.

Я ищу один из двух ответов:

  1. Это явно маловероятно (например, из-за шифрования)? Если так, то в чем причина? Возможно ли это в принципе, но требуются годы реинжиниринга (например, SMB / CIFS / Samba)? Или это просто и просто вопрос времени? Пожалуйста, предоставьте доказательства, подтверждающие вашу причину.

  2. Есть ли альтернативный способ иметь прямую одноранговую сеть помимо GameKit? Например, раскрученная вручную сеть с использованием Bluetooth или Wi-Fi ad-hoc? Было бы неплохо перенести устройство Android в существующее приложение для iPhone, но мой главный вопрос: могут ли устройства вообще разговаривать друг с другом!

Ответы [ 7 ]

10 голосов
/ 20 сентября 2011

Да, это возможно. GameKit - это протокол, использующий TCP и / или UDP через соединение Bluetooth BNEP. Он также использует трюк для идентификации других устройств iOS с помощью механизма расширенного запроса в Bluetooth 2.1+.

Мне удалось смоделировать ответы EIR, теперь кто-то должен перепроектировать протокол GameKit. Для этого не требуется Bluetooth, так как он также используется для подключений GameKit через WLAN.

Если кто-нибудь может переустановить GameKit для WLAN-соединений, я могу закончить версию Bluetooth.

3 голосов
/ 25 марта 2011

Нет, и это не произойдет в ближайшее время или даже вовсе ... Apple гордится своими функциями безопасности, а соединения Bluetooth могут получить доступ к личным данным. Вероятно, не будет какой-либо кроссплатформенной платформы Bluetooth, пока что-то не будет согласовано обеими компаниями.

Bump, как сказал предыдущий ответчик, использует удаленный сервер, и данные передаются не через BT.

1 голос
/ 15 февраля 2012

GameKit - это Bonjour, поэтому Bonjour (который находится на IP) через Bluetooth на Android должен работать.

0 голосов
/ 28 августа 2014

Эта статья, http://blog.moritzhaarmann.de/blog/2014/04/27/sorry-state-of-p2p/, написанная в 2014 году, предлагает это возможно через Bluetooth LE . Доступно в Android 4.3 + и iOS6 +

Два выпуска:

  • По данным Android Dashboard, только около 30 процентов устройств Android поддерживают Bluetooth LE https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
  • Связь между Android-Android должна осуществляться другим способом (что не является большой проблемой), поскольку устройства Android не могут выступать в качестве сервера для соединений B LE.
0 голосов
/ 21 января 2010

Это абсолютно возможно! На самом деле я поражен тем, что больше людей этого не сделали!

Теория:

Bluetooth - это просто беспроводная розетка, через которую вы проталкиваете данные, и она переходит на другую сторону, как tcp / ip.

Практика:

http://www.techcrunch.com/2009/11/11/bump-goes-cross-platform-with-new-android-app-upgrades-iphone-version-too/

Еще лучше, Bump является кроссплатформенным, что означает, что вы можете столкнуться с телефоном Android с iPhone, и он должен работать без проблем.

0 голосов
/ 17 января 2010

Bounjour на iPhone дает вам полный доступ ко всем протоколам Bluetooth, поэтому вам не нужно использовать GameKit. Что касается того, когда кто-то предоставит простой в использовании iPhone для Android GameKit, как фреймворк - трудно сказать.

iPhone уже может общаться с любым другим устройством Bluetooth, использующим Bonjour сегодня.

-t

0 голосов
/ 17 января 2010

Это должно быть возможно, так как Bluetooth способен настраивать сети TCP / IP.Хотя я ничего не знаю о IPhone SDK, но в Android есть BluetoothSocket и BluetoothServerSocket для TCP-соединений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...