高性能TcpServer(C#) - 1.网络通信协议

高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP)

高性能TcpServer(C#) - 3.命令通道(处理:掉包,粘包,垃圾包)

高性能TcpServer(C#) - 4.文件通道(处理:文件分包,支持断点续传)

高性能TcpServer(C#) - 5.客户端管理

高性能TcpServer(C#) - 6.代码下载

协议规范

通信采用GB2312编码格式

数据包格式:

标示符=长度#设备编号#任务id#包类型#包内容#

备注:长度: 4位不足补0,从标示符#到#之间的长度大小

数据包范例

1. 包内容为空

HTEMP=0026#1533022506#Meter-001#01##

2. 包内容含有多个字段

HTEMP=0043#1533022506#Meter-001#01#get-version@nb001#

3. 包内容含有多个字段(字段间用@分割,字段内的数组用[{},{}])

HTEMP=0261#WaterMeter-001#1520557005#03#buildid=44@edmid=37@meter=1228@denddate=2018-02-05 17:36:22@[{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}]#

协议内容

一.心跳包 (包类型: 01)

HTEMP=0026#Meter-001#1533022506#01##

HTEMP=0028#Meter-001#1533022506#01#ok#

二.时间同步 (包类型: 02)

HTEMP=0026#Meter-001#1533022506#02##

HTEMP=0045#Meter-001#1533022506#02#2018-08-16 09:50:58#

三.数据上传 (包类型: 03)

HTEMP=0256#Meter-001#1520557005#03#buildid=44@edmid=37@meter=1228@denddate=2018-02-05 17:36:22@[{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}+{132,0.0000}]#

HTEMP=0048#Meter-001#1520557005#03#error@服务器返回失败!#

HTEMP=0028#Meter-001#1520557005#03#ok#

四.版本查询 (包类型: 04)输入:软件类型(nb001) 输出:版本号

HTEMP=0044#Meter-0001#1533022507#04#get-version@nb001#

HTEMP=0028#Meter-0001#1533022507#04#2#

五.软件更新 (包类型: 05)输入:软件类型(nb001) 输出:包数

HTEMP=0042#Meter-0001#1533022508#05#get-count@nb001#

HTEMP=0029#Meter-0001#1533022508#05#16#

六.软件下载 (包类型: 06)输入:包索引 输出:包数据

HTEMP=0044#Meter-0001#1533022508#06#do-update@nb001@1#

HTEMP=0495#Meter-0001#1533022508#06#504B03041400000008007A640F4D6BEBFDBA000E00004D2E000007000000636F6D732E7079D51A6B73D356F6BB7FC55D7932926AC7D80EA1901DB10D8901CF244ED636FB189AF1C8D275A246B6BC924C603B9D816E29852DD09D6E976D0B944E4BB7B3DB02EDD22729FD3328099FF80B7BEE4B962C3BA4E36DBBAB99C4D23DCF7BCEB9F79C7BA4349A7C6612198E6975566750CF6F350E929194D5EE3AAE8FBC339EB8B59DD55540128FBED5C6E2BEED98CD9ED7F0D713033913B7AC0EF690EE21C3F393707647C0EC6E1446C3F57B7D2CF23412D337BA114C780A27835D4BB7C553CFB56DAB59CCB2DF#

七.版本更新 (包类型: 07)输入:edmid@version 输出:结果

HTEMP=0046#Meter-0001#1533022509#07#update-version@56@2#

HTEMP=0029#Meter-0001#1533022509#07#ok#

高性能TcpServer(C#) - 1.网络通信协议的更多相关文章

  1. 高性能TcpServer(C#) - 3.命令通道(处理:掉包,粘包,垃圾包)

    高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...

  2. 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP)

    高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...

  3. 高性能TcpServer(C#) - 4.文件通道(处理:文件分包,支持断点续传)

    高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...

  4. 高性能TcpServer(C#) - 5.客户端管理

    高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...

  5. 高性能TcpServer(C#) - 6.代码下载

    高性能TcpServer(C#) - 1.网络通信协议 高性能TcpServer(C#) - 2.创建高性能Socket服务器SocketAsyncEventArgs的实现(IOCP) 高性能TcpS ...

  6. 项目-高性能TcpServer - 目录

    1.项目-高性能TcpServer - 1.网络通信协议 https://blog.csdn.net/arno1988/article/details/82463225 2.项目-高性能TcpServ ...

  7. Java网络通信协议、UDP、TCP类加载整理

    网络通信协议 网络通信协议 网络通信协议有很多种,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal传输控制协议/英特网互 ...

  8. Java第三阶段学习(八:网络通信协议、UDP与TCP协议)

    一.网络通信协议 1.概念: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传 ...

  9. JAVA基础之网络通信协议--TCP与UDP

    个人理解: 了解区分UDP与TCP的不同,正常情况都是两者结合的使用模式!为了更好的传输,经常会开多线程进行传输的! 一.网络通信协议: 1.TCP/IP协议: 四层:应用层.传输层.网络层和链路层: ...

随机推荐

  1. DevExpress的TreeList实现自定义右键菜单打开文件选择对话框

    场景 DevExpress的TreeList实现节点上添加自定义右键菜单并实现删除节点功能: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...

  2. Spring 注解配置Bean

    一.使用注解配置Bean 1.注解 在类定义.方法定义.成员变量定义前使用.其简化<bean>标签,功能同<bean>标签.格式为: @注解标记名. 2.组件扫描 Spring ...

  3. swift(五)swift的函数

    /** * 函数的定义和调用 */ func showIntegerArray(array:[Int]) { for a in array { println("\(a)") } ...

  4. Angular 学习笔记(一)

    什么是 Angular: Angular 是一个 JavaScript 框架,可通过 <script> 标签添加到 HTML 页面,然后通过指令扩展 HTML,且通过表达式绑定数据到 HT ...

  5. HTML&CSS基础-子元素和后代元素选择器

    HTML&CSS基础-子元素和后代元素选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html ...

  6. CodeForces - 1251B (思维+贪心)

    题意 https://vjudge.net/problem/CodeForces-1251B n个01串,可以任意交换任意两个字符串的字符任意次,问最多能有多少个回文串. 思路 分类讨论可以发现规律: ...

  7. CentOS7 安装Jenkins

    准备工作 首选需要安装JAVA环境  https://www.cnblogs.com/stulzq/p/9286878.html 如果你的系统没有自带git,那么也需要安装一个 yum install ...

  8. itest(爱测试) 3.3.5 发布,开源敏捷测试管理 & BUG 跟踪管理软件

    v3.3.5 下载地址 :itest下载 itest 简介:查看简介 V3.3.5 有 6个功能增强,2个BUG修复 ,详情如下所述. 用户反馈并强烈要求增强的功能实现:    1: 测试用例管理可线 ...

  9. IOS HTML点击时有背景阴影

    在写H5时, IOS上的div点击会出现阴影, 如何去掉阴影呢? 在div的css属性中添加下面一条: -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

  10. G1 垃圾收集器架构和如何做到可预测的停顿(阿里)

    CMS垃圾回收机制 参考:图解 CMS 垃圾回收机制原理,-阿里面试题 CMS与G1的区别 参考:CMS收集器和G1收集器优缺点 写这篇文章是基于阿里面试官的一个问题:众所周期,G1跟其他的垃圾回收算 ...