蓝牙Android到Windows 7

| 我正在尝试制作一个将数据字符串从我的Android手机通过蓝牙传输到运行Windows 7(和Vice-Versa)的笔记本电脑的应用程序。 我想我将在Windows计算机上打开一个服务器套接字,并对Android应用程序进行编程以启动一个客户端套接字。但是,由于知道Android SDP(服务发现协议)并通过UUID进行连接,因此造成了困惑。 对如何使用Windows API在服务器端启动服务器套接字感到困惑。 我的问题是,如果我仅使用以下命令启动蓝牙套接字,Android是否会检测到服务器套接字?
SOCKET sock_s, sock_c;
SOCKADDR_BTH add1,add2;
sock_s =socket( AF_BTH,SOCK_STREAM,BTHPROTO_RFCOMM );
        if ( sock_s == INVALID_SOCKET )
            return -2;

        //Clearing the SOCKADDR_BTH variable
        memset(&add1,0,sizeof(add1));

        add1.addressFamily=AF_BTH;
        add1.serviceClassId=my_Guid;
还是有另一种方法来创建遵循MICROSOFT堆栈上的SDP协议的服务器套接字?     
已邀请:
        您是否必须在Windows框上使用本机代码?如果不使用我的库(32feet.NET),则使事情变得容易例如蓝牙服务器端:
Class MyConsts
  Shared ReadOnly MyServiceUuid As Guid _
    = New Guid(\"{00112233-4455-6677-8899-aabbccddeeff}\")
End Class

  ...
  Dim lsnr As New BluetoothListener(MyConsts.MyServiceUuid)
  lsnr.Start()
  \' Now accept new connections, perhaps using the thread pool to handle each
  Dim conn As New BluetoothClient = lsnr.AcceptBluetoothClient()
  Dim peerStream As Stream = conn.GetStream()
  ...
您甚至可以将32feet.NET从C ++与C +++ / CLR一起使用。 或IIRC,有一种简单的方法可以使Windows WSASetService为服务器套接字添加基本的SDP记录(如果没有要添加的自定义记录)。或者从Windows套接字(getsockname)获取RFCOMM端口号,并告诉Android应用直接连接到该端口号-假设它可以做到这一点...     

要回复问题请先登录注册