【原文链接】
(2015年4月15日,ct表述错误,待修改)
更多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,将会获得以下形式的响应:
<sensors/temp>;sz=512;title=Temperature Sensor;ct=50,<actuators/jack>;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资源发现相关推荐

  1. CoAP学习笔记——CoAP格式详解

    0 前言 CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型 ...

  2. CoAP学习笔记——服务器端繁忙时的处理请求流程

    CoAP学习笔记--服务器端繁忙时的处理请求流程 CoAP是一个简单的请求响应机制,对于一个给定的请求便有一个相应的响应. 很多时候,如果服务器不能立即响应一个CON请求,服务器只能返回一个空应答,这 ...

  3. CoAP协议学习笔记——CoAP格式详解

    CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型设备而言, ...

  4. CoAP学习笔记(1)CoAP报文结构

    CoAP报文结构 CoAP基于UDP的应用层协议,报文结构如下 Ver 版本号占2bit,固定为01 T 报文类型,占2bit,CoAP中有4种报文类型,如下 类型 描述 T值 CON报文 Confi ...

  5. [Spring入门学习笔记][静态资源]

    遗留问题 在上一节课的作业中,我们一定遇到了一点问题--虽然将页面内容正确的返回给了浏览器,但是浏览器显示的样式却是不正确的,这是因为在HTML的\标签中我们这样引入了CSS资源: <link ...

  6. IDEA学习笔记——文件资源定位图标。小齿轮的显示和隐藏(Autoscroll from Source)

    在使用IDEA的时候,因为误操作,将资源定位的小图标整没了,没有头绪,在网上搜索,找了几轮都没有找到,后来自己耐下心来复盘自己的操作,终于发现了,显示或隐藏它的功能是哪个了.在project栏上的设置 ...

  7. android学习笔记33——资源ShapeDrawable

    ShapeDrawable ShapeDrawable用于定义一个基本的几何图像(如,矩形.圆形.线条.......). 定义ShapeDrawable的XML文件的根元素是<shape.../ ...

  8. android样式文件,Android学习笔记样式资源文件

    样式资源和主题资源都是写在styles.xml文件里面的 30sp #06F 18sp 在activity_main.xml中引用 android:layout_width="wrap_co ...

  9. WinEdt学习笔记(二、编辑公式)

    WinEdt学习笔记(二) 公式编辑 公式编号 其他恶心的公式编辑 昨天的博客里介绍了怎么编写中文字符WinEdt学习笔记(一) 后来发现如果用\begin{CJK*}{GBK}编码可能出现编译不出来 ...

最新文章

  1. linux 防火墙 命令
  2. 手指贴个“创可贴”,你睡觉都能发电
  3. OpenCV中XML文件和YAML文件的读写
  4. Android APK反编译就这么简单 详解(图文详解)
  5. JS经典面试题03-引用类型连续赋值a.x = a = { n: 2 }
  6. PHP防SQL注入攻击
  7. c#windows消息循环sendmessage实例
  8. 在安装keepalived出现问题:需要:libmysqlclient.so.18
  9. python生成验证码_python之验证码生成(gvcode与captcha)
  10. PXE-cobbler 无人值守装机------续
  11. asp.net MVC留言本示例
  12. Java8 新JavaScript脚本引擎Nashorn小试
  13. HDU 2084 数塔
  14. HttpHandler和ashx要实现IRequiresSessionState接口才能访问Session信息(转载)
  15. linux系统下怎么测试网口通不通,linux udp端口测试_linux udp端口测试_linux测试端口通不通...
  16. [C0] 人工智能大师访谈 by 吴恩达
  17. 现有16张牌:红桃A、Q、4;黑桃J、8、4、2、7、3;草花K、Q、5、4、6;方块A、5.抽出其中一张告诉甲点数,告诉乙花色。甲说,我不知道这张牌,乙说,我知道你不知道
  18. python微信转账记录_python 处理微信对账单数据的实例代码
  19. vs2017无法打开文件atls.lib问题
  20. 国外创业者分享之一个iOS游戏赚了多少钱?普通 iOS 应用的收入能否养活自己

热门文章

  1. 分布式系统数据信息唯一标识之UUID
  2. 帝国cms中/e/data顽固不化的权限修改小记
  3. 管理综合联考可以用计算机嘛,考试可以带计算器吗?可以带草稿纸吗?
  4. vite + vue3 + storybook + ts 搭建组件库记录
  5. imx6 linux启动代码,IMX6ULL启动介绍
  6. 五星酒店再爆卫生丑闻,AI 能做些什么
  7. 【车间调度】粒子群算法求解6X6车间调度问题【含Matlab源码 411期】
  8. 展讯为什么可以面对联发科虎口夺食?
  9. 博图V14SP1组态下载时报错
  10. NUXT中使用 nuxtjs/i18n