2016-01-20 80 views
0

我无法弄清楚如何使用蓝牙在运行Windows 10的Windows通用应用程序的两台设备之间进行通信。我不确定我的研究是否存在问题,但我无法在API上找到任何内容。通过蓝牙窗口发送数据10通用应用程序

有人可以通过使用C#快速指导我吗?

回答

2

您可以参考这个MSDN链接:
https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/send-or-receive-files-with-rfcomm

这个例子显示了客户端和服务器模式的蓝牙通信。

对于设备枚举和配对,你可以使用这个Windows示例:
https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/DeviceEnumerationAndPairing

此样品不会在旧的Windows SDK版本(10240)工作。

对于文件传输,您必须实现文件中的IrOBEX协议连接,断开和数据包。

我觉得步骤是这样的:

  1. 枚举和对使用Windows样品。
  2. 打开流套接字。
  3. 实现OBEX协议。

事情是这样的:

private static byte[] CreateConnectPacketOPP(int maxPacketSize) 
{ 
    int packetSize = 7; 
    byte[] theConnectPacket = new byte[packetSize]; 

    int offset = 0; 
    ConnectPacket[offset++] = 0x80;         // Connect 
    ConnectPacket[offset++] = (byte)((packetSize & 0xFF00) >> 8);  // Packetlength Hi Byte 
    ConnectPacket[offset++] = (byte)(packetSize & 0xFF);    // Packetlength Lo Byte 
    ConnectPacket[offset++] = 0x10;         // Obex v1 
    ConnectPacket[offset++] = 0x00;         // No flags 
    ConnectPacket[offset++] = (byte) ((maxPacketSize & 0xFF00) >> 8); // 2048 byte client max packet size Hi Byte 
    ConnectPacket[offset++] = (byte) (maxPacketSize & 0xFF);   // 2048 byte max packet size Lo Byte  

    return ConnectPacket; 
}