蓝牙ATT交互的transaction mode active、execute、cancel、validate
时间: 2023-09-17 14:07:39 浏览: 135
蓝牙协议分析包含物理层,链路层,ATT,GATT等协议分析
蓝牙ATT交互中的transaction mode active、execute、cancel和validate是用于确认模式下的事务控制命令,用于控制一个或多个ATT请求消息(Request)和响应消息(Response)之间的交互。
- Active:表示开始一个新的事务。客户端发送一个ATT请求消息后,服务器端会返回一个ATT确认消息表示已经接收到请求消息并开始处理,此时客户端可以发送多个ATT请求消息,这些消息之间共用同一个事务ID,直到客户端发送一个Execute Request消息来触发事务的结束。
- Execute:表示结束一个事务并执行所有已经准备好的写入操作。客户端发送一个Execute Request消息后,服务器端会执行所有已经准备好的写入操作,并返回一个Execute Response消息表示操作已经完成。
- Cancel:表示取消所有已经准备好的写入操作。客户端发送一个Execute Request消息后,服务器端会取消所有已经准备好的写入操作,并返回一个Execute Response消息表示操作已经完成。
- Validate:表示验证所有已经准备好的写入操作。客户端发送一个Validate Request消息后,服务器端会验证所有已经准备好的写入操作是否合法,并返回一个Validate Response消息表示验证结果。如果验证失败,则不会执行任何写入操作。
这四个命令通常用于控制一个或多个ATT请求消息和响应消息之间的交互,尤其是在写入多个属性值时非常有用。使用这些命令可以将多个请求和响应消息组织成一个事务,并保证事务的原子性和一致性。
阅读全文