CoAP学习笔记——CoAP资源发现

【 原文链接】
CoAP协议专门为M2M通信设计(设备间通信),在设备通信过程中很少会有人的干预。为了实现在没有人干预的情况下正常工作,CoAP提供了资源发现机制。这就是的客户端理解哪些URI是被支持,并且客户端可以获知该URI的具体含义。
CoAP协议建议,服务器端应该支持一个/.well-known/core,该URI可以被任何客户端访问。一个专门用于资源发现的服务器必须侦听默认的 5683端口。
当客户端请求该预先协商好的URI时,服务器返回一系列的URI。这些URI遵循CoRE链接标准。[ A simplistic view of the specification is outlined in this post. The content-type of the response that contains the list of resources in “CoRE Link Format” is “application/link-format”.]这是一个新引入的类型,不过不必担心该新类型易于被理解和执行。
CoRE链接标准定义了非常多的选项,但是其中的很多部分并没有被我们深入的理解,所以在设计代码的锅工程中我们进行了适当的简化,只支出了部分选项。
如果访问预先协商好的URI /.well-known/core,将会获得以下形式的响应:

;sz=512;title=Temperature Sensor;ct=50,;sz=256;title=Hydraulic Jacks;ct=50

上面的例子可以帮助我们深入理解服务器如何告诉客户端此处有哪些资源可以利用,通过这个例子可以获得以下信息:
  • 有一个URI为“sensors/temp”的设备,该设备的名称为“温度传感器”。有效载荷的内容类型为50字节(application/json,JSON格式)。当使用一个GET方法访问资源时,最小消息的长度为512字节。
  • 除了温度之外还有另外一个资源,通过上面的例子可以发现资源和资源之间通过逗号分隔,该资源的URI为actuators/jack,该资源的名称为液压千斤顶,如果使用GET方法访问该资源的话,那么最大的数据包大小为256字节。有效载荷内容的大小为50字节(application/json,格式)。
除了这些之外,我们鼓励多多阅读 CoRE链接标准方面的文档,如果你有更好的理解的话,也请发表博客分享你的知识。

你可能感兴趣的:(CoAP学习笔记——CoAP资源发现)