📄 cmppactivethread.java
字号:
package com.grima.smsp.communication.cmpp;
/**
* <p>Title: mobileGateWay</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: gramsoft</p>
* @author lee
* @version 1.0
*/
import mobilegw.cmpp.*;
import java.util.Vector;
import com.grima.smsp.communication.CommObjectBuffer;
import java.io.*;
public class CmppActiveThread implements Runnable {
private conn_desc conn ;
private CommObjectBuffer cBuffer;
private CMPP cmpp = new CMPP();
public CmppActiveThread(conn_desc conn,CommObjectBuffer cBuffer) {
this.conn = conn;
this.cBuffer = cBuffer;
}
public void run() {
Thread thisThread = Thread.currentThread();
while(true) {
try {
thisThread.sleep(500);
if (!cBuffer.isBufferEmpty()) {
cmppe_submit submit = (cmppe_submit)cBuffer.getInstance();
int seq = cmpp.cmpp_submit(conn,submit);
}else {
cmpp.cmpp_active_test(conn);
}
readPa(conn);
}
catch (Exception ex) {
ex.printStackTrace(System.out);
//try to connect
}
}
}
private void readPa(conn_desc con)
{
cmppe_result cmppeResult = null;
try
{
cmppeResult = cmpp.readResPack(con);
switch(cmppeResult.pack_id)
{
case -2147483648:
System.out.println("get nack pack");
break;
case -2147483647:
cmppe_login_result cl = (cmppe_login_result)cmppeResult;
System.out.println("------------login resp----------: STAT = " + ((cmppe_result) (cl)).stat);
break;
case -2147483646:
System.out.println("------------logout resp----------: STAT = " + cmppeResult.stat);
break;
case -2147483644:
cmppe_submit_result sr = (cmppe_submit_result)cmppeResult;
System.out.println("------------submit resp----------: STAT = " + ((cmppe_result) (sr)).stat + " SEQ = " + sr.seq);
int iSeq = sr.seq;
int iStat = sr.stat;
byte[] msgId = sr.msg_id;
if (iStat == 0) {
//发送成功,更新数据库
}else {
byte failUserCount = sr.us_count;
cmppe_us_user[] failUserList = sr.us_user;
//发送失败,更新数据库,or 重发
}
break;
case 5: // '\005'
System.out.println("------------deliver---------: STAT = 0");
cmppe_deliver_result cd = (cmppe_deliver_result)cmppeResult;
cmpp.cmpp_send_deliver_resp(con, cd.seq, ((cmppe_result) (cd)).stat);
//判断是普通短信,还是状态报告,进行不同的数据库操作
break;
case -2147483641:
System.out.println("---------cancel-----------: STAT = " + cmppeResult.stat);
break;
case -2147483640:
System.out.println("---------active resp-----------: STAT " + cmppeResult.stat);
break;
default:
System.out.println("---------Error packet-----------");
break;
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
System.out.println("have a exception");
try
{
System.in.read();
}
catch(Exception _ex) { }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -