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

📄 cmppdeliverrep.java

📁 短信系统SMS:支持普通短信、长短信和wap push短信的发送。
💻 JAVA
字号:
package com.ekun.sms.cmpp2;

import java.io.*;

public class CmppDeliverRep
{

  public CmppDeliverRep(CmppSocket sock)
  {
    TotalLength = 21;
    this.sock = sock;
    SequenceId = 0;
    CommandID = 0x80000005;

    /*分配CMPP_Deliver_Rep包体*/
    bodybytes = new byte[9];

    /*分配CMPP_Deliver_Rep包头*/
    headbytes = new byte[12];
    /*设置包头*/
    CmppCommon.BytesCopy(CmppCommon.IntToBytes4(TotalLength), headbytes, 0, 3,
                         0);
    CmppCommon.BytesCopy(CmppCommon.IntToBytes4(CommandID), headbytes, 0, 3, 4);
    CmppCommon.BytesCopy(CmppCommon.IntToBytes4(SequenceId), headbytes, 0, 3, 8);

  }

  /*名称:setcmppDeliverRep
   * 功能:设置CMPP_Deliver_Rep包项目
   * 输入参数:SequenceId,MsgId,Result
   *
   * 输出参数:无
   *
   * 返回值:无
   */
  public void setcmppDeliverRep(byte[] MsgId, int Result)
  {
    /*设置包体*/
    int cur_pos = 0;
    CmppCommon.BytesCopy(MsgId, bodybytes, 0, 7, cur_pos);
    cur_pos += 8;
    bodybytes[cur_pos] = (byte) Result;
  }

  /*名称:sendcmppConnect
   * 功能:发送CMPP_Deliver_Rep包
   * 输入参数:无
   *
   * 输出参数:无
   *
   * 返回值:>0:包序列号,-1:失败
   */
  public int sendcmppDeliverRep()
  {
    int i = 0;

    try
    {
      sock.bout.write(headbytes);
      sock.bout.write(bodybytes);
      sock.bout.flush();

      //CmppCommon.printBytes(headbytes,12);
      //CmppCommon.printBytes(bodybytes,9);
    }
    catch (IOException e)
    {
      System.out.println(e.toString());
      i = -5;
      return i;
    }
    catch (NullPointerException npe)
    {
      i = -5;
      return -5;
    }

    return i;
  }

  /*名称:setSequenceId
   * 功能:设置SequenceId项目
   * 输入参数:SequenceId
   *
   * 输出参数:无
   *
   * 返回值:无
   */
  public void setSequenceId(int SequenceId)
  {
    this.SequenceId = SequenceId;
    CmppCommon.BytesCopy(CmppCommon.IntToBytes4(SequenceId), headbytes, 0, 3, 8);
  }

  /*名称:getTotalLength
   * 功能:返回包总长度
   * 输入参数:
   *
   * 输出参数:无
   *
   * 返回值:包总长度
   */
  public int getTotalLength()
  {
    return TotalLength;
  }

  public byte bodybytes[]; //包体
  public byte headbytes[]; //包头

  CmppSocket sock; //socket链路
  byte[] MsgId; //消息标识
  int Result;
  /*0:正确
        1:消息结构错
        2:命令字错
        3:消息序号重复
        4:消息长度错
        5:资费代码错
        6:超过最大信息长
        7:业务代码错
        8: 流量控制错
        9~ :其他错误
   */
  private int CommandID; //包类型
  private int SequenceId; //包序列号
  private int TotalLength;
}

⌨️ 快捷键说明

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