С++ Builder: невозможно выполнить привязку, адрес уже используется

У меня есть приложение, работающее на Android, оно использует Bluetooth на некоторых вкладках (используя сокеты, после того, как я включаю его в свой проект, я получаю предупреждение), и когда я запускаю (только) отладку, оно показывает мне предупреждение: Cannot bind, address already in use.

Ситуация такова:

  • Если я запускаю без отладки, он не показывает никаких предупреждений.
  • Если я включу параметр в Project/Options/Debugger/Parameters (например: -debugport=54321) и запущу с помощью отладки, он будет выполняться без предупреждений.

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

Может быть, какой-то код для изменения состояния портов IDE или даже в adb.exe

EDIT: Моя программа работает нормально, я просто хочу скрыть это предупреждение (не навсегда, а решение для этого случая).

РЕДАКТИРОВАТЬ 2: когда я запускаю в первый раз (перезагружая ПК и телефон Android), я не получаю ошибок (в этом случае это будет первый раз, когда он использует этот порт), я не знаю если какая-то функция/метод освобождения порта, который использовало приложение, решит проблему.

Для некоторого кода, чтобы иметь в виду мой проект: весь процесс сокетов и подключения основан на образце, который предлагает Embarcadero, я использую приложение Classic Bluetooth Basic (оно включает FSocket->Free(); и FServerSocket->Free();, которые, кажется, освобождают сокет и решают проблему , но нет).

Как я могу справиться с этим?


person devs121    schedule 25.09.2020    source источник


Ответы (1)


Вам нужно переподключить USB-аккорд с вашего устройства. Это будет работать!!!

person user13523467    schedule 10.11.2020