📄 sendthread.java~2~
字号:
public static class SendThread extends Thread {
private boolean shutdown;
// private SMProxy proxy = null;
public SendThread() {
try {
args = new Cfg("app.xml", false).getArgs("CMPPConnect");
myProxy = new MySMProxy30(args);
} catch (java.io.IOException e) {
e.printStackTrace();
System.out.println(e.toString() );
throw new IllegalStateException("初始化发送线程出错");
}
}
// }
public void run() {
try
{
while (!shutdown && !isInterrupted())
{
CMPP30SubmitMessage submitMsg = new CMPP30SubmitMessage(
pk_Total,
pk_Number, registered_Delivery, msg_Level, service_Id,
fee_UserType, fee_Terminal_Id, fee_Terminal_Type,
tp_Pid,
tp_Udhi, msg_Fmt, msg_Src, fee_Type, fee_Code,
valid_Time,
at_Time, src_Terminal_Id, dest_Terminal_Id,
dest_Terminal_Type, msg_Content, LinkID);
myProxy.send(submitMsg);
Thread.sleep(4000);
}
} catch (java.io.IOException e) {
e.printStackTrace();
System.out.println(e.toString() );
throw new IllegalStateException("发送失败,发送线程终止");
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
e.printStackTrace();
}
// myProxy.close();
}
}
//************************************************************************************************
class MySMProxy30 extends SMProxy30//在完成接受短信网关下发消息的功能时,需要自己实现抽象类SMProxy30
{
public MySMProxy30( Args args)
{
//调用父类的构造函数,完成初始化和登录ISMG的功能,不能省略
super(args);
}
public CMPPMessage onDeliver(CMPP30DeliverMessage msg)
{
//添加收到短消息中心下发消息的处理代码
System.out.println("发送号码:"+msg.getSrcterminalId());
System.out.println("是否为状态报告:" + msg.getRegisteredDeliver());
if(msg.getMsgContent()!=null){
try {
System.out.println("短信内容:" + new String(msg.getMsgContent(), "utf-16"));
} catch (Exception e) {
e.printStackTrace();
}
}
return super.onDeliver(msg);
//实际上是返回响应消息,一定要有
}
public void OnTerminate()
{
//可以添加ISMG和SMProxy30断开连接的处理代码
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -