⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delivermessage.java

📁 采用JAVA开发
💻 JAVA
字号:
package com.gctech.sms.sp.cms.msg;

import com.gctech.sms.sp.cms.util.ProtocolBuffer;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DeliverMessage extends Message {
    public  String messageId = "";;
    public int isReport = 0;
    public int msgFmt = 0;
    public Date recvTime = null;
    public String srcTermId = null;
    public String destTermId = null;
    public int msgLength = 0;
    public String content = null;

    static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

    public DeliverMessage()
    {
      commandId = Message.DELIVER;
      recvTime=new Date();
    }

    public static void main(String[] args) {
        DeliverMessage deliverMessage1 = new DeliverMessage();
    }

    public static DeliverMessage createMessage(byte[] bs) {
        ProtocolBuffer pb = ProtocolBuffer.create(bs);
        DeliverMessage m = new DeliverMessage();
        m.commandId = pb.readInt();
        m.commandStatus = pb.readInt();
        m.sequenceId = pb.readInt();
        m.messageId = pb.readString(10);
        m.isReport = pb.readByte();
        m.msgFmt = pb.readByte();
        //note igore beacuse of error
       String date = pb.readString(14);
//        try {
//
//          m.recvTime = sdf.parse(date);
//        } catch (Exception e) {
//            throw new IllegalArgumentException(date + "格式不对");
//        }
        m.srcTermId = pb.readString(21);
        m.destTermId = pb.readString(21);
        m.msgLength = pb.readByte();
        m.content = pb.readString(m.msgLength);
        return m;
    }

    public byte[] toBytes() {
       if(this.content.getBytes().length>254) throw new IllegalArgumentException("Conent 过长") ;
      ProtocolBuffer pb = ProtocolBuffer.create(85+this.content.getBytes().length);
      pb.appendInt(85+this.content.getBytes().length);
      pb.appendInt(this.commandId);
      pb.appendInt(this.commandStatus);
      pb.appendInt(this.sequenceId);
      pb.appendString(this.messageId,10);
      pb.appendByte((byte)this.isReport);
      pb.appendByte((byte)this.msgFmt);
      pb.appendAsciiO(14);
      pb.appendString(this.srcTermId,21);
      pb.appendString(this.destTermId,21);
      pb.appendByte((byte)this.content.getBytes().length);
      pb.appendString(content);
      return pb.toBytes();

    }
    public String toString()
    {
      return "[src:"+srcTermId+"] [destTermId:"+destTermId+"] content:["+content+"]";
    }



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -