一个server是不是只能被一个client连接,被第二个连接会被拒绝?

Viewed 66

我根据官方文档和示例改写了代码,在扫描阶段三块板卡都能扫描到对应的其他两块

在建立连接的时候,我的三块板卡分别为B2,59,F5

59可以向B2,F5发起连接成功连接
但是此时B2再向F5发起连接时,回调函数显示状态为2也就是断开连接SLE_ACB_STATE_DISCONNECTED
我的连接规则是ID小的向大的发起连接,我期望实现的是不区分server和client,以便实现去中心化的组网

烦请回答一下,官方设计是不是Client可以连接多个server但是server只能被一个Client连接
在串口一对八实验中
也可以看到server是只能被一个链接,通常来说这是反直觉的,因为一般的广义server都是可以被多个client连接如互联网上的server

如果确定有server只能被一个链接的限制,我会采取动态角色的方案,根据周围的广播情况来切换角色,但是这个复杂度偏高,烦请告知一下

感谢

2 Answers

我自己查询了一下,SLE的模式和蓝牙不能说十分相似也可以说一模一样

蓝牙中的主从关系:

传统蓝牙(经典蓝牙)中,一个主设备可以连接最多7个从设备,形成一个微微网(piconet)。
主设备负责控制网络时钟、通信频率跳转序列和整体通信协调。
从设备只能与主设备通信,不能直接与其他从设备通信

蓝牙的连接则是主设备搜索并主动向从设备发起连接,从设备发送广播
主设备对应client,从设备对应server

已放弃组网想法,目前仅支持星型结构