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

CoAP是一个简单的请求响应机制,对于一个给定的请求便有一个相应的响应。

很多时候,如果服务器不能立即响应一个CON请求,服务器只能返回一个空应答,这个空应答使得客户端停止重传CoAP请求。但是一些时间过去之后,服务器端准备好了上一个CON请求的响应,此时服务器向客户端发送一个CON请求,该CON请求需要客户端确认。在服务器侧,此时发送的CON请求中的Token标记必须和客户端发送给服务器的CON请求中的Token标记完全一致。这也是Token标志和序列号使用不同的地方。

下面是流程的详细描述:

  1. 客户端发送一个CON请求
  2. 此时服务器无法返回。如果服务器无法迅速响应,客户端会重复发送CON请求。为了避免这种情况,服务器会发送一个空应答。
  3. 当客户端收到了一个空应答,而空应答中的消息ID和CON请求中的消息ID相同,那么客户端可以便会理解,服务此时正忙,会在一定时间之后通过CON请求的方式返回内容。
  4. 当服务器准备好数据时便尝试发送给客户端,服务器会构造一个CON请求并复制原先的CON请求中的Token标记
  5. 客户端收到一个来自服务器的CON请求之后返回一个应答,如果客户端不及时返回应答,服务器会认为上一个CON请求丢失并会尝试重新发送CON请求。

CoAP学习笔记——服务器端繁忙时的处理请求流程相关推荐

  1. 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...

    [初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...

  2. 软件调试学习笔记(四)—— 异常的处理流程

    软件调试学习笔记(四)-- 异常的处理流程 要点回顾 异常的处理流程 实验1:理解调试器与异常的关系 未处理异常:最后一道防线 实验2:理解UnhandledExceptionFilter执行流程 实 ...

  3. 学习笔记(一)(x264编码流程)

    学习笔记(一)(x264编码流程) 作者 张士辉 11月 2, 2007 <script type=text/javascript></script> <script s ...

  4. 面向对象的编程思想写单片机程序——(3)学习笔记 之 程序分层、数据产生流程

    系列文章目录 面向对象的编程思想写单片机程序--(1)学习笔记 之 程序设计 面向对象的编程思想写单片机程序--(2)学习笔记 之 怎么抽象出结构体 面向对象的编程思想写单片机程序--(3)学习笔记 ...

  5. 从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---11. MVC功能之http请求处理器的编写---简易框架最后一公里!

    从零写一个具有IOC-AOP-MVC功能的框架-学习笔记 专栏往期文章链接: IOC功能相关章节: 从零写一个具有IOC-AOP-MVC功能的框架-学习笔记-01.项目初始化 从零写一个具有IOC-A ...

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

    [原文链接] (2015年4月15日,ct表述错误,待修改) 更多CoAP文章请参考博文索引--[物联网学习笔记--索引博文] CoAP协议专门为M2M通信设计(设备间通信),在设备通信过程中很少会有 ...

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

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

  8. Java 虚拟机学习笔记 | 类加载过程和对象的创建流程

    前言 创建对象是 Java 语言绕不开的话题,那么对象是如何创建出来的呢?我们今天就来聊一聊.对象创建第一步就是检查类是否加载,而类的加载又牵扯到类的加载过程.如果单说对象的创建而绕开类的加载过程,感 ...

  9. Vue.js 学习笔记 十二 Vue发起Ajax请求

    首先需要导入vue-resource.js,可以自己下载引入,也可以通过Nuget下载,它依赖于Vue.js. 全局使用方式: Vue.http.get(url,[options]).then(suc ...

最新文章

  1. 【DocFX文档翻译】DocFX 入门 (Getting Started with DocFX)
  2. Android中使用File文件进行数据存储
  3. Bash 脚本 set 命令教程
  4. 北京大学药学院张亮仁教授/刘振明研究员课题组博士后招聘启事
  5. 【STM32】 定时器---正交解码编码器模式详解
  6. 黑客瞄准美国 ATM 机,疯狂窃取超百万美元资金
  7. Python——EM(期望极大算法)实战(附详细代码与注解)(一)
  8. 数据分析-R语言资料整理
  9. 韦东山linux学习之ubuntu 9.10 软件源 问题
  10. 二、CGS2000坐标系
  11. C/C++结构体语法总结
  12. 微信小程序Demo详解
  13. 使用STM32CubeMX和SW4STM32在Nucleo-F401RE开发板轻松实现Blinky闪烁 [
  14. WPF半圆形导航菜单
  15. list容量限制测试
  16. Centos7开小鸡(centos7安装KVM+kimchi+wok开小鸡)第一篇安装kimchi wok
  17. DARTS 可微 架构搜索
  18. android 触摸 唤醒屏幕,android 唤醒和解锁屏幕
  19. 计算机网络之CPT实验
  20. 使用Jenkins自动编译我的.net 项目

热门文章

  1. 20.QT中插件编程
  2. STM32-串口通信
  3. war压缩命令_BetterZip mac版(超强解压缩软件)
  4. [读书笔记] -《C++ API设计》第7章 性能
  5. c语言读入图片matlab,将数据从matlab文件读入C语言
  6. php mysql.dll 下载_php_mysql.dll下载|
  7. httpd svn 编译安装_linux下php7安装与Apache配置
  8. 计算机网络在地理信息系统中应用,计算机网络在地理信息系统中有哪些应用?...
  9. 【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字
  10. 每秒处理10万订单的支付架构