UDP 机器控制项目

协议报文格式:

Ver +                  T       +     TKL + Code + MessageID + 11111111 + Command + Payload

01   + ( 00 | 01 | 02 | 03) + (000000)

40 02 00 00 FF 01 00 E0 4C 1E 5C 4C  // dev->ser   设备登陆请求: 报文编号:0,ID为00 E0 4C 1E 5C 4C

60 45 00 00 FF 01 00 E0 4C 1E 5C 4C  // ser->dev   服务器登陆响应: 报文编号:0,ID为00 E0 4C 1E 5C 4C

40 01 01 00 FF 02 00 E0 4C 1E 5C 4C  // dev->ser   设备登出请求: 报文编号:1,ID为00 E0 4C 1E 5C 4C

60 45 01 00 FF 02 00 E0 4C 1E 5C 4C  // ser->dev   服务器登出响应: 报文编号:1,ID为00 E0 4C 1E 5C 4C

50 01 02 00 FF 03 00 E0 4C 1E 5C 4C  // dev->ser   设备心跳请求: 报文编号:2,ID为00 E0 4C 1E 5C 4C

协议中服务器无响应

40 02 03 00 FF 04 00 E0 4C 1E 5C 4C  // dev->ser   设备数据上报请求: 报文编号:3,ID为00 E0 4C 1E 5C 4C

60 45 03 00 FF 04 00 E0 4C 1E 5C 4C  // ser->dev   服务器数据上报响应: 报文编号:3,ID为00 E0 4C 1E 5C 4C

40 02 04 00 FF 05 00 E0 4C 1E 5C 4C  // dev->ser   app控制设备请求: 报文编号:4,ID为00 E0 4C 1E 5C 4C

60 45 04 00 FF 05 00 E0 4C 1E 5C 4C  // ser->dev   设备响应app控制: 报文编号:4,ID为00 E0 4C 1E 5C 4C

  1. 服务器端返回的响应 Message ID 与 设备发送的 Message ID 一致
  2. 设备 ID 使用 MAC 地址形式,设备的唯一标识符
  3. 设备登录成功,返回响应;失败,无响应;退出作一样的处理
  4. 心跳,1分钟发一次,5秒内没有收到你的响应,我会重复发;连续5次没有收到你的响应,我会重新登陆

异常(待考虑,需要针对异常补充什么确保机制)

  1. 登陆后,万一网络断线了。比如说你那里显示设备已经登陆,我这里如果再重新登陆你那里会怎么处理?

报文数据

40020000ff01000c0157a42ee900010203040500

[UDP] UDP 报文数据(CoAP protocol)的更多相关文章

  1. TCP和UDP 协议发送数据包的大小

    在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,这里仅对像ICQ一类的发送聊天消息的情况作分 ...

  2. 第11章 UDP:用户数据报协-----读书笔记

    1.分片应用程序只关心IP数据报的长度,如果它超过MTU值,那么就要对数据包进行分片. 2.UDP首部字段图: (16位源端口号+16位目端口号+16位UDP长度+16位UDP校验和+数据) 3.UD ...

  3. TCP面向字节流和UDP面向报文的区别

    TCP面向字节流 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容器装(杯子.矿泉水瓶.锅碗瓢盆)接水. 上面的例子中,往水 ...

  4. Android(java)学习笔记80:UDP协议发送数据

    UDP协议发送数据:我们总是先运行接收端,再运行发送端发送端: 1 package cn.itcast_02; import java.io.IOException; import java.net. ...

  5. Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据

    1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源  UDP协议接 ...

  6. UDP发送的数据 以数据包形式发送

    UDP发送的数据 以数据包形式发送

  7. Android(java)学习笔记20:UDP协议发送数据

    1. UDP协议发送数据:我们总是先运行接收端,再运行发送端发送端: package cn.itcast_02; import java.io.IOException; import java.net ...

  8. UDP ------ UDP 详解

    原文地址:https://zhuanlan.zhihu.com/p/25622691 3. UDP疑难杂症 3.1 UDP的传输方式:面向报文 面向报文的传输方式决定了UDP的数据发送方式是一份一份的 ...

  9. UDP ------ UDP IPPROTO_UDPLITE 参数

    介绍 传统的 UDP 通信对整个报文进行校验 UDP-LITE 通信则可以设置校验的长度,适用于可以接受轻微的报文内容出错,比如视频数据:传统的 UDP 由于对整个报文校验,一旦出现报文数据出错就会被 ...

随机推荐

  1. JavaWeb 学习0010-今日问题 2016-12-3

    2016-12-3 1. 今天要做的第一个问题就是,怎么把网页变得好看点: addStudent/listStudent页面都有改动 其中 list页面还有了<c:if 的语句这是还没练习过得知 ...

  2. Spring环境搭建之:导入jar包、配置文件名称及放置位置

    Spring环境搭建之:导入jar包.配置文件名称及放置位置 现在项目开发中spring框架应用的还是比较多的,自己用的还不太熟练,每次用的时候总配置半天,总有些配置弄错,就找个时间总结以下,方便以后 ...

  3. 解決 java.security.cert.CertificateException: Certificates does not conform to algorithm constraints

    找到 jre/lib/security/java.security 将 jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048 ...

  4. PHP 之 this self parent static 对比

    this 绑定的是当前已经实例化的对象 这样长出现的问题: 如果你在一个父类中使用$this调用当前一个类的方法或者属性,如果这个类被继承,且在相应的子类中有调用的属性或者方法是,则父类中的$this ...

  5. Ubuntu 安装tftp服务器

    Ubuntu下搭建tftp服务器最简单方法   转 linux公社       今天开始调试ARM的板子,要通过tftp下载到板子上,所以又要配置tftp服务器,真的烦死了... (本人酷爱装系统,所 ...

  6. 关于启动 SecureCRT 遇到一个致命的错误且必须关闭

    --------------------------SecureCRT---------------------------SecureCRT 遇到一个致命的错误且必须关闭. 一个崩溃转储文件已创建于 ...

  7. 快速排序 - C语言

    看了这本<数据结构与算法分析>中的快速排序. 写下自己理解后的代码,以备后用. #include "stdio.h" void insertSort(int arr[] ...

  8. Python list列表的排序

    当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...

  9. 深入理解Memcache原理 [转]

    1.为什么要使用memcache 由于网站的高并发读写需求,传统的关系型数据库开始出现瓶颈,例如: 1)对数据库的高并发读写: 关系型数据库本身就是个庞然大物,处理过程非常耗时(如解析SQL语句,事务 ...

  10. db2设置共享内存

    db2 UPDATE DBM CFG USING INSTANCE_MEMORY 5242880 IMMEDIATEdb2 UPDATE DBM CFG USING INSTANCE_MEMORY A ...