📄 cngpdemo.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 + -