Mina学习(三):实现简单自定义协议包(报文)

2017-08-04  本文已影响0人  Clannad_汐

一、自定义协议包:本次简单的协议包中, 封装了报文的长度,协议版本,以及需要传输的文本内容。

二、实现代码:

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();
    }
}

上一篇 下一篇

猜你喜欢

热点阅读