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

📄 cngpdemo.java

📁 pk_Total - 相同msg_Id消息总条数 pk_Number - 相同msg_Id的消息序号 registered_Delivery - 是否要求返回状态报告 msg_Level - 信
💻 JAVA
字号:
package demo.cngpdemo;

import java.io.*;
import java.util.*;
import com.huawei.smproxy.comm.cngp.message.*;
import com.huawei.smproxy.util.*;

import java.text.DateFormat;
import java.text.*;

/**
 * CNGP协议测试代码
 */

public class CNGPDemo {
  private static String version = "infoXV100R001.4D201";

  public CNGPDemo() {}

  public static String getVersion() {
    return version;
  }

  public static void main(String[] args) {

    int sendcount = 1;
    int sendinterval = 1;
//第一个参数是版本耗或发送次数
    if(args[0].equals("-v"))
    {
       System.out.println("current version: " + CNGPDemo.getVersion());
       return;
    }
    else if (args[0].equals("-help"))
    {
       System.out.println("usage: ");
       System.out.println("java cngpdemo.CNGPDemo [消息发送次数] [发送时间间隔]      发送消息(消息参数在message.xml中配置)");
       System.out.println("java cngpdemo.CNGPDemo -v                              显示版本号");
       System.out.println("java cngpdemo.CNGPDemo -help                           显示帮助");
       return;
    }
    else
    {
      try {
        sendcount = Integer.parseInt(args[0]);
      }
      catch (Exception ex) {
        sendcount = 1;
      }
    }

    //第二个参数是两次发送间等待的时长(秒)
    try {
      sendinterval = Integer.parseInt(args[1]);
    }
    catch (Exception ex) {
      sendinterval = 1;
    }

    //系统配置信息
    Args arg = Env.getMsgConfig().getArgs("CNGPSubmitMessage");
    String SPId = arg.get("spid", "");
    int subType = arg.get("subtype", -1);
    int needReport = arg.get("needReport", -1);
    int priority = arg.get("priority", -1);
    String serviceId = arg.get("serviceId", "");
    String feeType = arg.get("FeeType", "");
    int feeUserType = arg.get("FeeUserType", -1);
    String feeCode = arg.get("FeeCode", "");
    int msgFormat = arg.get("msgFormat", -1);
    String validTime = null;
    String atTime = null;
    String srcTermId = arg.get("srcTermId", "");
    String chargeTermId = arg.get("ChargeTermId", "");
    int destTermIdCount = arg.get("destTermIdCount", -1);

    String[] rcvMobile = new String[destTermIdCount];
    for (int k = 0; k < destTermIdCount; k++) {
      String tmp = "destTermId" + k;
      rcvMobile[k] = arg.get(tmp, "");
    }

    int msgLength = arg.get("msgLength", -1);
    String msgContent = arg.get("msgmsgContent", "");
    int protocolValue = arg.get("protocolValue", -1);

    //生成100个接收短信的手机号码

    /*
        System.out.print("Create 100 receiver Mobile No...");
        int count = 0;
        for (int i = 0; i < 10; i++) {
          for (int j = 0; j < 10; j++) {
            rcvMobile[count] = "075540000" + i + j;
            count++;
          }
        }
        System.out.println("OK");
     */

    //生成一个CNGP消息
    System.out.print("new CNGPMessage...");

    CNGPSubmitMessage msg = new CNGPSubmitMessage(
        SPId,
        subType,
        needReport,
        priority, //priority
        serviceId, //serviceId
        feeType, //FeeType
        feeUserType, //FeeUserType
        feeCode, //FeeCode
        msgFormat, //msgFormat
        validTime,
        atTime, //定时发送时间(null:立即发送)
        srcTermId, //srcTermId
        chargeTermId, //ChargeTermId
        destTermIdCount, //destTermIdCount
        rcvMobile, //destTermId
        msgLength, //msgLength
        msgContent, //msgmsgContent
        protocolValue //protocolValue
        );
    CNGPExitMessage exitMsg = new CNGPExitMessage();
    System.out.println("OK");

    //发送消息(发送多次)
    SMSender sender = SMSender.getInstance();
    for (int i = 0; i < sendcount; i++) {
      System.out.print("Send Message...");
      if (sender.send(msg)) {
        System.out.println("Success");
      }
      else {
        System.out.println("Fail");
      }
      //两次发送间等待一段时间,以便于infox能够进行跟踪调试
      try {
        Thread.sleep(1000 * sendinterval);
      }
      catch (Exception ex) {}
    }
    /*
        //发送exit消息
        try {
          sender.send(exitMsg);
        }
        catch (IOException ex1) {
        }
     */

    while (true) {
      try {
        Thread.sleep(100);
      }
      catch (InterruptedException ex) {
      }
    }
  }
}

⌨️ 快捷键说明

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