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

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

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

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

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

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


person JasonSmith    schedule 17.01.2010    source источник
comment
это было бы так круто ... вы, вероятно, могли бы сделать это сейчас, через Интернет. (использует общий веб-язык)   -  person Sam Jarman    schedule 17.01.2010
comment
Да, Интернет - это возможный запасной вариант, но он принципиально отличается от низкой задержки Bluetooth. Кроме того, GPS недостаточно точен, чтобы действительно сказать, находятся ли пользователи очень близко друг к другу, но с GameKit это легко сделать.   -  person JasonSmith    schedule 17.01.2010
comment
Этому вопросу около 20 месяцев. Если в проекте (с открытым исходным кодом или проприетарном) есть эта ценная функция, вполне вероятно, что это невозможно. Таким образом я меняю правильный ответ.   -  person JasonSmith    schedule 20.09.2011
comment
так возможно ли это в конце концов? Я видел, что награда была присуждена за ответ, в котором говорилось, что это возможно. Также здесь stackoverflow. com / questions / 8707753 / говорят, что это возможно. Пожалуйста, поделитесь тем, что вы нашли. Спасибо.   -  person Ovidiu Latcu    schedule 06.01.2012
comment
У вас есть требования к пропускной способности? Текущий ответ использует BLE, но это не дает вам соединения с высокой пропускной способностью.   -  person ThomasW    schedule 22.01.2015


Ответы (7)


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

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

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

person mringwal    schedule 20.09.2011
comment
Вместо использования GameKit вы можете просто использовать Bluetooth Bonjour напрямую. Подробнее о моем вопросе: stackoverflow.com/questions/8070998/, и этот ответ я опубликовал в другом месте: stackoverflow.com/a/8273661/ 39974. Можете ли вы подробно / опубликовать код о том, как вам удалось подключить устройства? Не могли бы вы опубликовать более подробную информацию о том, что такое EIR и как его использовать? - person Ivan Vučica; 28.12.2011
comment
Достигнут ли в этом какой-либо прогресс? Можете ли вы сообщить нам об этом, mringwal? Вы уже работали над этим Иваном? - person zakdances; 30.01.2012
comment
@yourfriendzak Маленькая работа, которую я проделал, не привела к успешному подключению Ubuntu к iPad. Я не стал копать дальше. Одна из возможных причин заключалась в том, что я запускал Ubuntu на виртуальной машине, а другая могла заключаться в том, что iOS использует загадочную функцию Bluetooth, которую я не устанавливал в Ubuntu. - person Ivan Vučica; 06.06.2012

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

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

person FreddieH    schedule 24.03.2011
comment
blog.moritzhaarmann.de/blog/2014/04 / 27 / sorry-state-of-p2p в этой статье (написанной в 2014 г.) предполагается, что это возможно через Bluetooth LE. Доступно для Android 4.3+ и iOS6 + - person Zoltán Matók; 28.08.2014

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

person jack    schedule 15.02.2012

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

person user252634    schedule 17.01.2010
comment
Спасибо, миссис Снежинка. Я ищу доказательства (документация, существующие приложения), которые могли бы подтвердить именно это предположение. - person JasonSmith; 21.01.2010

Эта статья, 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.
person Zoltán Matók    schedule 28.08.2014
comment
Хорошие указатели! действительно, самая большая проблема - это нестабильность Bluetooth на телефонах Android и отсутствие поддержки BLE Peripheral на всех устройствах Android. Это требует гибридных реализаций с использованием других методов для надлежащей поддержки Android ‹-› Android. Я работаю в компании, которая занимается именно этим: p2pkit.io, возможно, это поможет ... - person p2pkit; 10.05.2016

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

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

-t

person Tim    schedule 17.01.2010
comment
Чтобы быть жизнеспособной заменой, одноранговая сеть Wi-Fi должна поддерживаться на обоих устройствах. Так ли это? Мое быстрое расследование показывает, что это не так. - person JasonSmith; 18.01.2010
comment
Тим, это обнадеживает. Я думал, что iPhone был заблокирован с доступом по Bluetooth. В противном случае кто-нибудь мог бы написать настольное приложение bluetooth для привязки. Но хотелось бы узнать больше. - person JasonSmith; 18.01.2010
comment
Этот ответ совершенно неверен: несколько доступных стандартных протоколов Bluetooth обрабатываются ОС и недоступны из пользовательских приложений. - person rpetrich; 23.01.2010
comment
Я считаю, что rpetrich прав. SDK разработчика для iPhone не предоставляет доступ к стеку bluetooth. - person Brad The App Guy; 25.01.2010
comment
Bump связывается с сервером для обмена данными. Это не одноранговый. - person Richard Perry; 10.10.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, и он должен работать без проблем.

person CaseyB    schedule 21.01.2010
comment
Спасибо, это показывает, что вы можете писать кроссплатформенные приложения для Bluetooth! Тем не менее, мне интересно, использовали ли они GameKit или сделали свой собственный. - person JasonSmith; 22.01.2010
comment
Я предполагаю, что в таком случае было бы проще свернуть свое собственное, чтобы у вас был полный контроль над тем, что именно отправляется и как это отправляется. - person CaseyB; 22.01.2010
comment
Признавая это принятым ответом. Хотелось бы, чтобы там была документация, так или иначе, можно ли конкретно подделать GameKit. Однако очень обнадеживает то, что, по крайней мере, возможен кроссплатформенный Bluetooth. - person JasonSmith; 27.01.2010
comment
Bump не подделывает Gamekit и не использует Bluetooth. Он возвращается в облако и использует GPS для определения того, что вы находитесь в одном месте. - person Zac Bowling; 24.04.2010