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. Symmetric Difference

    function sym(args) { //return args; var arr = []; for(var i = 0; i < arguments.length; i++){ arr. ...

  2. PP常用bapi

    PPCO0012 co01/CO02/CO03屏幕bapi  生产订单:显示/更改订单抬头数据 PPCO0001 开发应用程序: PP订单 PPCO0007 保存生产订单时退出 PPCO0001  A ...

  3. sap 常用表

    MM    表名 EBAN 采购申请

  4. 记录那些我不清楚的知识点(HTML)

    <div class="link"><a href="http://www.baidu.com/" target="iframeHt ...

  5. qt中添加Q_OBJECT报错的问题

    在qt编写的过程中添加Q_OBJECT后发现老是报错的问题 编译后老是报undefined reference to vtable for "xxx"的错误,后来发现在xxx.pr ...

  6. z-index和transform

    z-index和transform是CSS中的属性,但很少同学将二者联系到一起,感觉他们八杆子打不上.事实真的是这样吗?如果你也不能确认,这篇文章就值得你花点时间阅读.因为阅读完了,你会有所收获的. ...

  7. mysql主从切换

    mysql 主从切换 主停,从做主步骤如下: 1 确认从服务器已经完成所有同步操作:stop slave io_thread show processlist 直到看到状态都为:xxx has rea ...

  8. rdlc报表DEMO

    rdlc报表demo  .net 4.0  vs2013 文本框,图像控件,checkbox样式的打印 下载链接

  9. read函数返回值始终为1

    部分程序如下: while(count=read(fd_s,buf,512)>0)      printf("count=%d\n",count);      write(f ...

  10. ExtJS4插件EditArea

    EditArea是一个支持语法高亮的文本编辑器,同类软件还有Ace, CodeMirror等.具体功能方面的差异,请访问http://en.wikipedia.org/wiki/Comparison_ ...