也许我不明白UUID在蓝牙连接中是如何工作的,但据我所知,服务器必须打开具有特定UUID的BluetoothSocket,并使用相同的UUID监听此套接字上的连接请求。
我的问题是,当您无权访问客户端以对UUID进行硬编码时,如何向客户端发送他必须用来连接BluetoothSocket的UUID?
如果我没有正确理解蓝牙连接过程,请告诉我!
祝你好运
答案 0 :(得分:1)
蓝牙提供服务发现协议(SDP),这是发现服务和UUID的标准方式。构建应用程序时,您可以在服务器或客户端上硬编码UUID,也可以使用SDP在运行时查找UUID。
答案 1 :(得分:0)
蓝牙“服务器”可以公开一个或多个服务(也称为配置文件):例如,服务器可以公开SPP配置文件(通过SPP或RFCOMM GUID)。 现在,当客户想要连接并谈论服务器时(这是'另一个'BT设备...) 1)客户端进行“查询”,即列出所有附近的BT设备,并收集有关它们的信息(Name,MacAddress aso。) 2)客户端然后选择'服务器'设备(按名称或MacAddress ...) 3)如果找到,客户端可以在此特定设备上发出“发现”,并收集其公开的配置文件/服务列表。 4)如果客户找到了想要的服务(与想要的GUID相同),它可以连接到它然后'talk'
tl; dr:服务器不“发送”GUID或其他任何内容。客户端和服务器都同意与常见的“语言”进行“对话”,即相同的GUID相同的配置文件(如果在两侧都可用)