博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《低功耗蓝牙开发权威指南》——2.6节凡事皆有状态
阅读量:5746 次
发布时间:2019-06-18

本文共 710 字,大约阅读时间需要 2 分钟。

本节书摘来自华章社区《低功耗蓝牙开发权威指南》一书中的第2章,第2.6节凡事皆有状态,作者 (英)Robin Heydon,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.6 凡事皆有状态

低功耗蓝牙背后有个基本的概念:任何事物都有状态。状态可以是任何东西:当前的温度、设备里电池的状态、设备名称或是对测量温度的地点的描述。它通过属性服务器上的属性协议对外公开。
状态并不局限于“可读”状态,还包括“可写”状态。比如有一台可以设置温度的自动调温器,另一台设备在判断房间应升温或降温之后,可对其进行设置。既然可以公开各种状态,自然也可以公开状态机的状态。通过使用显式的状态机属性值,设备可以清楚地提供其当前的状态。这为客户端随时断开连接提供了可能—在重新连接时,它们只需简单读取便可快速地确定对方的当前状态。
一些状态是可变的,甚至可以频繁改变。要快速实现服务器到客户端的状态传输,就必须支持状态信息的通知功能。通知直接从服务器发至客户端,无需客户端向服务器执行轮询,这种设计可以支持高效的应用,比如只有当电池出现状况时才向客户端通知电池状态,在此之前,客户端根本不用担心电池的状态。
这个简单的基于状态的模型使其得以构造一个非常高效的客户端–服务器架构。这也让应用能够采用面向对象的方法进行设计,重用大量的数据类型和服务行为。同时,这也减少了设备需要包含的代码数量以及用来保存代码的存储器数量,从而降低设备功耗。更少的代码还有另一个显著的好处—更少的错误。总之,越简单的系统越便宜,开发更迅速,包含更少的错误,更加强健,也更容易维护。正如罗伯特·布朗宁(Robert Browning)曾说的那样:“少即是多。”

转载地址:http://bjozx.baihongyu.com/

你可能感兴趣的文章
精品软件 推荐 硬盘性能提升工具 Primo Ramdisk 内存虚拟成硬盘软件
查看>>
Linux系统程序包管理工具-RPM
查看>>
[JavaScript] 面向对象
查看>>
2017国赛小结
查看>>
Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月28日-2月3日)
查看>>
rsync工作方式介绍03
查看>>
PowerBI从SCCM数据库中分析数据和KPI展现
查看>>
SIEM/SOC用户的现状和诉求调查
查看>>
五一 带你观航母(附带视频)
查看>>
0.16版本salt的安装与日常应用
查看>>
Hyper-V用差异磁盘克隆系统
查看>>
Kerberos学习(二)
查看>>
2-Tenor AF AFT400-实战-Lync Server 2010-集成-2012-01-19
查看>>
SFB 项目经验-20-Skype for Business for Android-下载到电脑
查看>>
【翻译】优化基于ExtJS 4.1的应用
查看>>
从无到有,WebService Apache Axis2初步实践
查看>>
FOSCommentBundle功能包:设置Doctrine ODM映射(投票)
查看>>
RAID6结构原理详解
查看>>
可穿戴设备创业,卖Jawbone up2配件的故事
查看>>
Azure手把手系列6:存储服务介绍
查看>>