前言
在BLE开发中,为什么针对设备的角色有时候叫Master或Slave,有时候又叫Service或Client呢。这两种叫法其实是针对不同的协议层来描述的,在逻辑链路层中叫Master/Salve;在上层协议(SDP,GAP,AMP,ATT,GATT)叫Service/Client。方便记忆,可以这样理解:在底层中叫Master/Slave,在应用层中叫Service/Client。有些场景还喜欢叫中央设备和外围设备,相当于Master和Slave。
Master/Slave
Master叫主机,主动发起连接的设备,Slave叫从机,广播自己的存在,希望别人来连接自己的设备。一个主机可以连接多个从机。
Service/Client
Service叫服务器,负责提供数据的那一端,Client叫客户端,从服务器请求数据的那一端。
总结
在BLE应用开发中,不同的应用场景可能对角色的称呼不一致。在逻辑层,更多的叫主机和从机,在协议层,更多得称呼为客户端和服务端。我们在和别人描述相关角色的时候,要特别注意场景区分。