我无法弄清楚如何使用蓝牙在运行适用于Windows 10的Windows通用应用程序的两台设备之间进行通信。我不确定我的研究是否有什么,但我在API上找不到任何东西。
有人可以使用C#快速指导我吗?
答案 0 :(得分: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协议连接,断开连接和数据包。
我认为步骤将是这样的:
这样的事情:
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;
}