У меня есть приложение, работающее на 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();
, которые, кажется, освобождают сокет и решают проблему , но нет).
Как я могу справиться с этим?