Как я могу ускорить обнаружение Nearby Connections API? - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь подключить два устройства Android с близкого расстояния без сторонней службы для передачи двух небольших полезных нагрузок json назад и вперед перед закрытием соединения.Подумайте о добавлении соседних контактов.

Я использую стратегию P2P_POINT_TO_POINT, и оба устройства объявляют и обнаруживают, используя код, найденный здесь: https://developers.google.com/nearby/connections/android/get-started. Он работает последовательно, однако для его поиска требуется 10-15 секунд.соединение и предложите принять соединение.В идеале я мог бы получить это ниже 10 секунд.

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

Есть ли способ улучшить скорость соединения?

1 Ответ

0 голосов
/ 18 октября 2018

К сожалению, лучшее, что вы можете сделать, это попытаться подключиться в одном направлении.Это должно снизить задержку соединения до 2 ~ 7 секунд.Когда оба устройства соединяются друг с другом в одно и то же время, это вызывает перебои, и хотя мы делаем все возможное, чтобы изящно справиться с этим, это приведет к увеличению задержки.

Остановка обнаружения до вызова соединения запроса также поможет, но неочень.Мы уже делаем это внутренне во время самых чувствительных операций.


Наш стек рекламы и обнаружения основан на Bluetooth, и мы экспериментировали с другими технологиями, чтобы дополнить его.Но они, как правило, имеют более жесткие ограничения, чем Bluetooth (нужен маршрутизатор, нужен совсем новый телефон Android, он не может обрабатывать одновременные соединения, не может одновременно рекламировать и обнаруживать).Из всех технологий, о которых я знаю, только mDNS будет быстрее, при этом разрешая попытки двунаправленного соединения, и для этого требуется, чтобы оба телефона были подключены к одному и тому же маршрутизатору (и чтобы маршрутизатор не отключил mDNS).Обычно это означает, что он работает только дома.Если это разумное ограничение для вас, тогда я могу передать это команде.

...