Что означает код возврата ядра macOS 0xE0020002 (kIOBluetoothConnectionAlreadyExists)?

 
Предыдущий Следующий
kIOBluetoothDeviceResetError kIOBluetoothNoHCIController

kIOBluetoothConnectionAlreadyExists

Повторная попытка подключения противоречит текущему состоянию контроллера

kIOBluetoothConnectionAlreadyExists сообщает о попытке открыть уже существующее соединение. В Bluetooth HCI предусмотрена аналогичная ошибка контроллера Connection Already Exists для нового запроса соединения с уже подключённым устройством, когда несколько соединений не разрешены.

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

Что проверить

  • Запишите адрес или идентификатор другой стороны, список соединений контроллера, время жизни объекта соединения приложения, недавние обратные вызовы подключения и отключения, а также события сброса.
  • Повторно используйте или согласуйте существующее логическое соединение только после подтверждения, что оно относится к нужной стороне и состоянию службы.
  • Если предыдущая операция завершилась неоднозначно, дождитесь достоверного события контроллера или обратного вызова API, а не запускайте новый запрос соединения одновременно с очисткой.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.