#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. какие-либо специальные драйверы необходимо установить?