Android: доступ к уже подключенному соединению - PullRequest
6 голосов
/ 26 мая 2010

У меня есть вопрос о доступе к уже существующим парным соединениям Bluetooth ...

Как удаленная служба может обнаружить уже спаренное соединение и ожидать передачи файла с него?

Во всех комментариях к stackoverflow, учебникам, электронным книгам или в google всегда показано, как создать новое соединение с использованием сокетов и т. Д., Но нет слов о доступе к существующему.

Возможно ли это вообще? Если да, можете ли вы также сказать / показать мне, как? На данный момент я понятия не имею, с чего начать.

Было бы здорово, если бы кто-то мог помочь мне начать :)

1 Ответ

2 голосов
/ 28 мая 2010

Сопряжение означает, что оба устройства имеют аутентифицированную связь друг с другом. Это не подразумевает соединения с открытым сокетом.

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

Я думаю, что путаница возникает из-за смешения двух понятий: «уже в паре» с «уже соединенным». Сопряжение просто означает, что они аутентифицированы. Устройства не могут подключиться без первого сопряжения, но соединение не соединяет устройства.

Чтобы приложение ожидало передачи файла, оно должно выглядеть примерно так:

  • Сделать устройство доступным.
  • На устройстве B выполните поиск ближайших устройств, а когда найдете A, выполните сопряжение с ним (здесь вы вводите секретный PIN-код, который должен совпадать на двух устройствах)
  • Теперь, когда устройства сопряжены, запустите файловый сервер на устройстве A или B (затем он создает сокет сервера и ожидает входящие соединения)
  • Затем инициируйте соединение с файловым сервером с другого устройства.
  • При открытых гнездах данные могут передаваться.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...