一、自定义协议包:本次简单的协议包中, 封装了报文的长度,协议版本,以及需要传输的文本内容。
二、实现代码:
package protocal;
/***
* 一个简单的协议包类
* @author liaot
*
*/
public class ProtocalPackage {
private int length; //报头 显示整个报文长度
private String content; //报文内容
//构造方法
public ProtocalPackage(byte flag, String content) {
super();
this.flag = flag;
this.content = content;
int temLenth = ( content == null ? 0 : content.getBytes().length);
this.length = 5 + temLenth; //int 型的 length 占4个字节 版本号 byte flag占一个字节 一共5个字节
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public byte getFlag() {
return flag;
}
public void setFlag(byte flag) {
this.flag = flag;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
//重写toString方法
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("length:").append(length);
sb.append("flag:").append(flag);
sb.append("content:").append(content);
return sb.toString();
}
}
网友评论