通信协议
xuexiaodong2009
主要从事C#编程,精通SQL,JS,jquery等技术,目前主要从事内部办公,微信企业号方面的应用
展开
-
通信协议中多字节数据的解析
在自定义通信协议中,如果采用字节流形式的的方式。就特别注意多字节数据的解析。此处以整形数据为例进行讲解。 例如:通信协议中规定整个数据帧长度为整形,占用两个字节。 则数据帧长度257转化为字节数组为:byte[0]=2,byte[1]=1,发送数据时先发送字节byte[0],再发送字节byte[1] 则在服务端解析时,计算的数据的正确方式就是byte[0]+by原创 2013-08-29 15:19:29 · 3586 阅读 · 0 评论 -
自定义通信协议设计基础
对于很多设备之间的通信,经常需要自己设计一套通信协议。当然此处的通信协议一般都是建立在TCPIP协议等协议基础之上的协议,也就是在已有协议的基础之上,在定义一套协议。例如:有一套检测降雨量的设备(一般为简单的嵌入式设备)需要把采集到的的数据上报给中心服务器(一般为一台性能特别好的计算机)。就需要一套通信协议。以保证,嵌入式设备上发的数据,可以被中心服务器正确的理解和处理。再例如:在桥梁检测的项目中原创 2013-08-26 10:34:59 · 6854 阅读 · 3 评论 -
通信协议中的数据类型的转换
在编写自定义通信协议中时,经常会遇到很多种数值类型,例如整形,浮点型,日期型等。原创 2013-09-03 11:00:36 · 2877 阅读 · 0 评论 -
通信协议的解析:字节流协议的解析
由于字节流协议具有共同的特点,因此解析也就很简单,主要涉及两种设计模式:模板方法,命令模式。 解析的基本步骤: 1判断一个完整帧的开始,根据协议规定判断帧的开始字节 2获取一个完整的帧。主要有两种,一种是根据根据帧的开始字节结束字节判断一个完整的帧,一种是根据开始帧和帧长度判断 3得到一个完整的帧后,根据命令字创建不同的命令,根据不同的命令字分别处理。原创 2013-10-11 08:53:32 · 5592 阅读 · 1 评论 -
通信协议设计注意事项
设计自定义通信协议有几个需要注意的情况: 1回执问题 2防堵塞设计 3超时 1回执问题 为了准确获取下发的命令的后续执行情况,就必须设计一种机制反馈命令的执行情况。例如手机短信可以开启短信是否发送成功的的提示。这其实就是一种回执,由于是异步的,自然不能使用返回值之类的简单方法了。当然还有更复杂的设计例如,下发一个修改时间的命令,下位机是否收到原创 2013-12-18 10:18:47 · 3067 阅读 · 0 评论 -
通讯协议常用函数
整型数据和byte数据相互转化 /// /// 把数字转化为数组 地位存低字节,高位存高字节 /// /// /// /// public static byte[] IntToBytes(int x, int length) {原创 2017-11-11 13:01:26 · 637 阅读 · 0 评论