BluetoothConnectionException: была предпринята попытка операции с сокетом в недоступной сети. При использовании Javax вместо Android - PullRequest
0 голосов
/ 04 ноября 2019

Когда я пытаюсь подключиться с моего компьютера к устройству Bluetooth, я получаю сообщение об ошибке: javax.bluetooth.BluetoothConnectionException: Failed to connect; [10051] A socket operation was attempted to an unreachable network.

Это работает в моем приложении для Android.

В моем приложении для Android я просто звонюBluetoothAdapter#getRemoteDevice(address), а затем BluetoothDevice#createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")).

В приложении Java я получаю устройство с startInquiry, которое работает, потому что адрес совпадает с адресом от Android. Затем я искал сервисы с searchServices(null, new UUID[]{new UUID("0000110100001000800000805F9B34FB", false)}, device, this);, на самом деле ServiceRecord toString() выглядит так: 0x4: DATSEQ { DATSEQ { UUID 0000010000001000800000805f9b34fb } DATSEQ { UUID 0000000300001000800000805f9b34fb U_INT_1 0x1 } } 0x1: DATSEQ { UUID 0000110100001000800000805f9b34fb } 0x0: U_INT_4 0x10002 }

Затем я делаю record.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false) с возвратами btspp://censored:1;authenticate=true;encrypt=false;master=false. Затем я пытаюсь соединиться с ним, используя Connector.open(url). К сожалению, через некоторое время возникло исключение:

Exception in thread "main" javax.bluetooth.BluetoothConnectionException: Failed to connect; [10051] A socket operation was attempted to an unreachable network.
    at com.intel.bluetooth.BluetoothStackMicrosoft.connect(Native Method)
    at com.intel.bluetooth.BluetoothStackMicrosoft.access$700(BluetoothStackMicrosoft.java:44).```
...