昨天我们谈了怎么建立socket通信的服务端和客户端,今天我们就来谈一谈怎么封装报文。
什么是报文这里我就不在阐述了,不清楚的朋友可以自己去查资料。我们今天要谈的报文主要友以下几个部分组成:
3位同步校验位+8位报文长度+报文头+报文体+32位MD5校验位
基本格式如下:
0X110X120X1300000232<?xml version="1.0" encoding="GBK"?>0204
2014122314122301000815217010001
张三B251AB76B11114DB176023A0AA27A524
说明:
前面的0X110X120X13是3位16进制的同部位,这里为了大家理解,所以就以字符的形式谢出来了。00000232是报文长度。<?xml version="1.0" encoding="GBK"?>0204
2014122314122301000815217010001
是报文头。即每个报文都包含的信息。张三是报文体。B251AB76B11114DB176023A0AA27A524是加密数据。
关于如何将对象转换为xml格式的报文我将在下一篇写,这里主要是给大家如何将如上的这些字符串转化为字节以及如何发送和接收报文。
1.建立报文的对象
public classSocketPacket {privateString bodyLen;privateString body;privateString syncStr;privateString md5;publicString getBodyLen() {returnbodyLen;
}publicString getBody() {returnbody;
}publicString getSyncStr() {returnsyncStr;
}publicString getMd5() {returnmd5;
}public voidsetBodyLen(String bodyLen) {this.bodyLen =bodyLen;
}public voidsetBody(String body) {this.body =body;
}public voidsetSyncStr(String syncStr) {this.syncStr =syncStr;
}pu