蓝牙套接字返回WSAEPROTONOSUPPORT

对于我正在开发的项目,我希望将嵌入式系统用作蓝牙服务器。 我得到了驱动程序,用于USb-Bluetooth的工作,并且在控制面板中我现在有一个“蓝牙设备属性” - 可以通过蓝牙USB加密狗工作并检测其他设备的选项。

但是,当我尝试在代码中使用加密狗时,出现错误。

包括:

winsock2.h,ws2bth.h,bt_sdp.h,bthapi.h,bt_api.h,winioctl.h,windows.h

这是代码:

int Main(int argc, char **argv)
 {
     WSADATA wsd;
     if (WSAStartup(MAKEWORD(2, 2), &wsd)){
         wprintf(L"Initialization of socket subsystem failed! Error = %dn", WSAGetLastError());
         return 0;
     }
     SOCKET server = socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM);
     if(server == INVALID_SOCKET){
         printf("socket failed, error %dn", WSAGetLastError());
         return 0;
     }
     return 0;
 }

这是编译的,但运行时在创建套接字时失败。 GetLastError返回10043,这意味着WSAEPROTONOSUPPORT。 快速搜索为我提供了以下错误代码的列表:https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx

我不知道我在做什么错。 该代码运行在蓝牙普通笔记本电脑上,所以我怀疑它与驱动程序等有关。 任何帮助表示赞赏!

亲切的问候

链接地址: http://www.djcxy.com/p/58319.html

上一篇: Bluetooth socket returns WSAEPROTONOSUPPORT

下一篇: How to use Socket address more than once on windows