在中央端,将在连接或断开连接时调用CBPeripheral代理。但CBPeripheralManager如何知道它是由中央设备连接或断开连接的?此外,外围设备是否可以拒绝来自中央设备的连接请求?
答案 0 :(得分:6)
当中央连接到您的应用提供的外围服务时,您不会收到特定通知。您可以通过以下CBPeripheralManagerDelegate
方法推断连接 -
didSubscribeToCharacteristic
didReceiveReadRequest
didReceiveWriteRequest
如果您通过didSubscribeToCharacteristic
收到了订阅,则可以在收到didUnsubscribeFromCharacteristic
的相应电话时推断断开连接。如果中心没有使用订阅,那么您没有迹象表明它们已经断开连接 - 您只是不会再获得读/写请求。
您无法拒绝来自中心的连接。您可以对一个或多个特征设置加密要求。然后,当中央首次尝试读取/写入/通知该特征时,这将启动基于引脚的配对过程。
您还可以实施某种形式的身份验证过程,其中在响应中央的其他读/写请求之前,中心需要响应质询/为特征等写入密码。