《Socket私有协议修改版》由会员分享,可在线阅读,更多相关《Socket私有协议修改版(21页珍藏版)》请在金锄头文库上搜索。
1、yat数据交换协议V1.02016011141.说明2.概述客户端命令帧格式:表格中偏移量和长度以ASCII字符长度表示偏移字段长度描述0217213739535757+NCRC-16校验码4CRC-16服务端命令帧格式:偏移字段长度描述0268222626+NCRC-16校验码4CRC-16 例外回复命令帧格式:偏移字段长度描述57例外信息201/02/03/04/05错误59CRC-16校验码4其中例外信息中错误码定义如下: 01H:命令码错02H:数据校验错03H:命令解析错04H:命令执行出错05H:用户未认证采用ASCII码方式交互;命令首字符为“”,命令尾字符为“”。3.CRCJa
2、va实现代码:private static int polynomial = 0x1021;public static int crc(byte bytes)int crc = 0xffff;for(int index = 0; index bytes.length; index+)byte b = bytesindex;for(int i=0; i (7-i) & 1) = 1);boolean c15 = (crc 15) & 1) = 1);crc = 1;crc &= 0xffff;if(bit)crc += 1;if(c15)crc = polynomial;crc &= 0xfff
3、f;for(int i=0; i 15) & 1) = 1);crc = 1;crc &= 0xffff;if(c15)crc = polynomial;crc &= 0xffff;return crc;4.客户端命令3.1命令功能描述:Djfn187654376tyhgf65743219iuyhrf1、注册功能命令格式:偏移字段长度描述0#1数据标识1000000000000000000000000000000004Key(32位)YHZC功能编码:4个字母5000053(根据JOSN串长度设置)66位JSON数据长度,最小000000,最大9999999JSON:data:tingbh:0
4、1,taibh:01,”workerNum”:”6666”【Tingbh:厅编号】;【taibh:台编号】;【workerNum:点菜员编号】; 62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1QTCZ4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn2、启用操作命令格式:偏移字段长度描述0#1数据标识1QYCZ4
5、功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:data:tingbh:01,taibh:01,”workerNum”:”6666”【Tingbh:厅编号】;【taibh:台编号】;【workerNum:点菜员编号】; 62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1QYCZ4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】;
6、 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn3、禁用操作命令格式:偏移字段长度描述0#1数据标识1JYCZ4功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:data:tingbh:01,taibh:01,”workerNum”:”6666”【Tingbh:厅编号】;【taibh:台编号】;【workerNum:点菜员编号】; 62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1JYCZ4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000
7、000,最大9999999JSON:result:ok,data:”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)15结束符2回车换行,rn4、获取厅信息操作命令格式:偏移字段长度描述0#1数据标识1TWXX4功能编码:4个字母5000000(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999“”没有数据不占位9结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1TWXX4功能编码:4个字母50023(根据JOSN串长度设置)6JSON数据长度,最小000000,最
8、大9999999result:ok,data:tingbh:01,tingname:大厅,mlfs:1,automl:0,tingbh:01,tingname:二楼,mlfs:1,automl:0,msg: Result:结果标识(【ok:成功,failed:失败】; Data: 【tingbh:厅编号】;【tingname:厅名称】;【mlfs:抹零方式 0 不抹零 1四舍五入 2抹去小于1元的零头 3-抹去小于10元的零头】,【automl:自动抹零 0-不开启自动抹零 1-开启自动抹零】; 【msg:提示信息】)32结束符2回车换行,rn5、获取台信息操作命令格式:偏移字段长度描述0#1
9、数据标识1TZXX4功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:tingbh:,taibh:01【tingbh:厅编号】;【taibh:台编号】,tingbh为空是同步全部台位,tingbh不为空是同步整个厅位的台位,如果tingbh和taibh都不为空,同步指定的这个台位62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1TZXX4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:taibh:01,ta
10、iname:1号桌,state:1,maxseats:0,ktlsh:1234567,starttime:2015-09-20 10:35:36,tingbh:01,taibh:02,tainame:2号桌,state:0,maxseats:0,ktlsh:1234567,starttime:null,tingbh:01,msg:nullResult:结果标识(【ok:成功;failed:失败】; Data: 【taibh:台编号】;【tainame:台名称】;【state:台状态(0空闲,1占用,2禁用,3待清)】;【maxseats:最大座位数】;【ktlsh:开台流水号】;【startt
11、ime:开台时间】; 【tingbh:厅编号】; 【msg:提示信息】)15结束符2回车换行,rn6、登录操作命令格式:偏移字段长度描述0#1数据标识1YHDL4功能编码:4个字母50053(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON: worknum:01,pwd :01【worknum:点菜员编号】;【pwd:登录密码】62结束符2回车换行,rn回复格式:偏移字段长度描述0#1数据标识1YHDL4功能编码:4个字母50006(根据JOSN串长度设置)6JSON数据长度,最小000000,最大9999999JSON:result:ok,data:”32位的KEY(经过md5加密)”,msg:nullResult:结果标识(【ok:成功,failed:失败】; 【data:返回json数据】;【msg:提示信息】)key生成规则:shopid+hhmms