python UDP 发送 16 进制报文 新手求教 (如何拼接报文和解析这个报文)

2015-10-30 12:41:20 +08:00
 sunrain520

3 传输过程约定
3.1 传输约定
3.1.1 终端 /服务端通信端口: 2002 (可设置)
3.1.2 编码规范:编码传输信息需遵照 ISO2022,通信传输中文字符需遵照 GB2312
3.1.3 终端每隔 1 秒钟向服务端发送心跳报文,服务端在 3 秒内未收到心跳后则表示此终端处于脱机状态(岗亭软件未进入出入管理),终端 3 次未收到回应则认为服务端脱机状态;
3.1.4 应答返回时间,默认 500ms ,最多不超出 1000ms ;

3.1.5 交易报文体格式定义:字段不固定字节长度:每个字段用制表符分隔,每行数据用换行符分隔,每行数据的最后一个字段结尾不加制表符,最后一行数据的结尾不加换行符,报文体结构统一转化为 16 进制字符串后进行传输
注:制表符 ASCII 码值 0x09, 换行符 ASCII 码值 0x0A
4 通信报文定义
4.1 报文结构说明
序号 名称 代码 字节长度 备注
1 报文起始 STX 2 0x0202 (固定值)
2 交易秘钥 STRING 16 MD5 秘钥
3 通道号 TDH 1 不需要为 0x00, 应答与请求一致
4 交易代码 CMD 1 应答与请求一致
5 报文体长度 LEN 3 代码 Content 的长度(如 100:0x000064)
6 报文体 CONTENT 不定(0-N)
7 报文终止 ETX 2 0x0303 (固定值)
8 校验码 ETX 1 1-7 的异或校验

3316 次点击
所在节点    Python
1 条回复
mind3x
2015-10-30 12:45:32 +08:00
既然需求已经这么清晰,就请施主报个价吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/232244

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX