Android 和蓝牙:多重连接和双向数据交换

Android and Bluetooth: Multiple connections and bi-directional data exchange

我想知道 server/client 与多台设备进行蓝牙连接的最佳方法是什么,其中所有设备都交换数据。

我遵循的方法是集线器和边缘设备,其中所有边缘设备与中央设备(集线器)交换数据,集线器与每个设备交换数据。 每个边缘设备有一个连接,集线器有多个

我是蓝牙新手,但我想提前计划以减少麻烦,所以

哪个设备是服务器,哪个是客户端?集线器应该是服务器,其他所有东西都应该连接到它。还是集线器应该充当客户端并连接到每个边缘设备?

Android Bluetooth Chat sample app - multiple connections

集线器应该是服务器。

集线器需要在边缘设备之间路由消息。 服务器需要在客户端之间路由消息。 每个边缘设备也只是一个客户端。

因此,在您的提议中,"hub" 和 "server" 将对完全相同的一组设备执行相同的操作,尽管一个地址是物理设备而另一个地址是逻辑设备客户。这是因为设备和客户端之间存在一对一的关系,这意味着集线器和服务器路由完全相同的信息。