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

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

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

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

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

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

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

Эта статья, 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.

Ответ 6

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

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

-t

Ответ 7

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

Теория:

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, и он должен работать без проблем.