Bluetooth connect возвращает ошибку 10051

#c #windows #sockets #winapi #bluetooth

#c #Windows #сокеты #winapi #bluetooth

Вопрос:

Мы создаем приложение для связи внешнего устройства с ПК с Windows (здесь мы используем Windows 7)

Я планировал создать программирование сокетов с помощью win32. но при подключении к устройству Bluetooth возникла проблема, приведенный ниже код, который мы используем.

         //
        // Connect the socket (pSocket) to a given remote socket represented by address (pServerAddr)
        //
                    //sizeof(SOCKADDR_STORAGE)) == SOCKET_ERROR
        if ( SOCKET_ERROR == connect(LocalSocket,
                                     (struct sockaddr *) amp;SockAddrBthServer,
                                     sizeof(SOCKADDR_BTH)) ) {
            wprintf(L"=CRITICAL= | connect() call failed. WSAGetLastError=[%d]n", WSAGetLastError());
            ulRetCode = CXN_ERROR;
            break;
        }
  

при подключении сокета отображается ошибка 10051, и я изменил порт на

 SockAddrBthLocal.addressFamily = AF_BTH;
SockAddrBthLocal.port = BT_PORT_ANY;
  

он показывает ошибку 10049

я погуглил, но не могу найти проблему.

я проверил входные данные, но все было в порядке, локальный сокет также был успешно создан. На рисунке ниже показаны входные данные.

введите описание изображения здесь

Я взял btaddress и serviceClassid в свойствах информации об устройстве Bluetooth.

введите описание изображения здесь

Пожалуйста, помогите, что в этом было не так.

Комментарии:

1. Ошибка сокета Windows 10051 — » WSAENETUNREACH : сеть недоступна. Была предпринята попытка выполнить операцию сокета в недоступной сети. Обычно это означает, что локальное программное обеспечение не знает маршрута для доступа к удаленному хосту «. Я предполагаю, что вы передаете неправильный идентификатор класса обслуживания или btAddr для SOCKADDR_BTH . Но трудно сказать, учитывая мало доступной информации (например, я не знаю, где вы взяли последние 2 скриншота).

2. @IInspectable: я сделал скриншоты из раздела «Панель управления Все элементы панели управления Устройства и принтеры» на этом устройстве Bluetooth щелкните правой кнопкой мыши свойства-> оборудование-> свойства-> подробности.. пожалуйста, скажите мне, какая информация вам нужна. Спасибо

3. Вы уже прочитали документацию MSDN? Программирование Bluetooth с помощью сокетов Windows .

4. Да, я взял образец с того же сайта, code.msdn.microsoft.com/windowsdesktop /…

5. какие-либо специальные драйверы необходимо установить?