Одноранговая связь между устройствами iOS и Android

Итак, я относительно новый разработчик iOS, но благодаря Stackoverflow мне удалось наладить одноранговую передачу данных для моего приложения, работающего без необходимости использования сервера с использованием gamekit/GKSessions. По сути, одно устройство iOS действует как сервер, а другие просто подключаются к нему для получения данных, специфичных для приложения.

Теперь приложение в настоящее время переносится на Android, и мне было интересно, есть ли способ заставить устройство Android подключаться к приложению iOS и вести себя так же, как приложение ios. Разработчики Android предположили, что alljoyn является оптимальным решением для Android, но похоже, что оно еще не доступно для iOS.

Пожалуйста, предложите, если у вас есть какие-либо идеи на этот счет. Если есть решение, которое включает в себя доработку и на стороне iOS, то я открыт для него!


person Venkat    schedule 09.07.2012    source источник
comment
Я не понимаю, почему возникла бы проблема, просто внедрив аналогичное решение для Android, как вы уже сделали для iOS, предполагая, что вы только что использовали стандартный TCP или UDP... Можете ли вы предоставить несколько подробностей о том, что вы реализовали для iOS и почему вы думаете, что что-то совместимое с этим не очень просто для вашего порта Android?   -  person kabuko    schedule 09.07.2012
comment
kabuko: одноранговые узлы, обнаруженные с помощью фреймворка gamekit в ios, требуют, чтобы приложение на другом конце имело такой же идентификатор пакета. По сути, они хотят, чтобы приложение взаимодействовало со своим собственным экземпляром, установленным на другом устройстве. Так что с Android я не думаю, что он даже обнаружит устройство.   -  person Venkat    schedule 10.07.2012
comment
но я думал, вы сказали, что вам удалось заставить его работать без игрового комплекта? Или это просто без сервера GameKit?   -  person kabuko    schedule 10.07.2012
comment
да, без сервера и общается по специальной сети Wi-Fi! Извините за двусмысленность ранее ... я сделал это с помощью gamekit, поэтому мне не нужен какой-либо промежуточный сервер! Надеюсь, это прояснит..   -  person Venkat    schedule 10.07.2012


Ответы (4)


На тот случай, если вам или другим людям, занимающимся тем же вопросом в январе 2013 года, нужен ответ, AllJoyn теперь готов и для iOS, и для других платформ.

https://www.alljoyn.org/docs-and-downloads

person S G    schedule 29.01.2013

Венкат, я предлагаю вам прочитать и получить подробную информацию о P2P. Это хороший источник, потому что вы можете застрять, если оба устройства отстают. несколько нат. но если вы готовы идти вперед всегда есть способ. Мое предложение было бы ретранслятором, но вам нужен сервер, но ретранслятор ведет себя как P2P. Посмотрите на источник выше, чтобы получить идеи.

person Navin    schedule 13.07.2012

У меня не было времени ждать, пока alljoyn будет запущен для iOS, и, не чувствуя другого возможного решения, которое соответствовало бы моей временной шкале, я реализовал промежуточный сервер ретрансляции, чтобы добиться этого.

Однако для других теперь доступна привязка iOS для alljoyn (www.alljoyn.org). Я еще не пробовал, но версия моего приложения для Android работает с alljoyn и работает отлично, поэтому я предполагаю, что она будет делать то же самое и для iOS.

Одно ограничение, которое следует учитывать при использовании alljoyn, заключается в том, что он не может обмениваться данными между устройствами, находящимися за разными подсетями.

person Venkat    schedule 30.01.2013

Я думаю, что существует ограничение на максимальное количество одноранговых соединений для нескольких одноранговых узлов (максимум 8 одноранговых узлов), полученное для IOS и Android, связь между устройствами IOS и Android не тестировалась с использованием alljoyn.

person Muhammad Haj-Ali    schedule 29.05.2017