📄 recvthread.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: recvThread.java
import com.aspire.cmppApi.*;
import java.io.*;
import java.util.Properties;
import java.text.*;
public class recvThread extends Thread
{
static int totals = 0;
static long nTimeOut = 999999;
message mess;
Apis api;
RecCCMPPPacket packet;
int submit_reps;
int query_reps;
int active_reps;
int active_reqs;
int delivers;
int receipts;
String sMessageContent;
String usMsgId;
String sSrcAddr;//dinggou
SendMessage SendMessage1;
/*
public recvThread(Apis apis)
{
submit_reps = 0;
query_reps = 0;
active_reps = 0;
active_reqs = 0;
delivers = 0;
receipts = 0;
api = apis;
totals = totals;
}
*/
public recvThread(message mess)
{
submit_reps = 0;
query_reps = 0;
active_reps = 0;
active_reqs = 0;
delivers = 0;
receipts = 0;
this.mess = mess;
api = mess.cm;
totals = totals;
SendMessage1 = new SendMessage();
}
private void getParam()
{
String sfileName = "c:/test/test.ini";
Properties prop = new Properties();
try
{
prop.load(new FileInputStream(sfileName));
}
catch(IOException ioe)
{
System.out.println(" fail to load test.ini file ".concat(String.valueOf(String.valueOf(sfileName))));
SendMessage1.SendMessage(" 获的配置文件test.ini失败 ".concat(String.valueOf(String.valueOf(sfileName))));
}
nTimeOut = Integer.parseInt(prop.getProperty("TimeOut", "1000"));
}
public void run()
{
System.out.println("Read Packet Thread is started.....");
getParam();
packet = new RecCCMPPPacket();
int i = 0;
int g=0;
do
{
i = api.nCMPP_RecvPacket(packet);
if(i == -6)
{
i = mess.sendConnect();
g=0;
SendMessage1.SendMessage("严重警告:接收线程与短信网关断开!!");
//if(i >= 0)
//{
//try
// {
// recvThread2 recvthread2 = new recvThread2(mess);
// recvthread2.start();
// do
// {
//this.currentThread().sleep(6000L);
// System.out.println("等待线程2结束次数"+g);
// g++;
//}
// while(recvthread2.isAlive());
//}
//catch(Exception ee)
//{
//}
//System.out.println("线程1重新启动");
// }
}
if(i==-1)
{
try
{
// System.out.println("接收线程无数据切换!");
this.sleep(1000);
}
catch(Exception ee)
{
System.out.println("接收线程休眠失败!");
SendMessage1.SendMessage("接收线程休眠失败! ");
}
}
if(i >= 0)
{
System.out.println("Receive Thread1 started...");
int j = packet.nCmdId;
switch(j)
{
case com.aspire.cmppApi.cmppPacket.CMPP_Deliver: // '\005'
int sequence = 0;
if(i == 0)
{
delivers++;
System.out.println("Deliver number:" + delivers);
System.out.println("packet.recDeliver.nSeqId:" + packet.recDeliver.nSeqId);
System.out.println("packet.recDeliver.usMsgId:" + packet.recDeliver.usMsgId);
System.out.println("packet.recDeliver.sDstAddr:" + packet.recDeliver.sDstAddr);
System.out.println("packet.recDeliver.sServiceId:" + packet.recDeliver.sServiceId);
System.out.println("packet.recDeliver.ucTpPid:" + packet.recDeliver.ucTpPid);
System.out.println("packet.recDeliver.ucTpUdhi:" + packet.recDeliver.ucTpUdhi);
System.out.println("packet.recDeliver.ucMsgFmt:" + packet.recDeliver.ucMsgFmt);
System.out.println("packet.recDeliver.sSrcAddr:" + packet.recDeliver.sSrcAddr);
System.out.println("packet.recDeliver.ucRegister:" + packet.recDeliver.ucRegister);
System.out.println("packet.recDeliver.ucMsgLen:" + packet.recDeliver.ucMsgLen);
try
{
int red =mess.sendDeliverRep(packet.recDeliver.usMsgId,packet.recDeliver.nSeqId);//清理状态包
if(red>=0)
System.out.println("清理状态包,包标志:" + Long.toString(packet.recDeliver.usMsgId)+packet.recDeliver.nSeqId);
}
catch(Exception es)
{
SendMessage1.SendMessage("接收线程发送sendDeliverRep失败!"+es.getMessage());
}
try
{
if(packet.recDeliver.ucMsgFmt==0 || packet.recDeliver.ucMsgFmt==15)
{
System.out.println("packet.recDeliver.usMsgContent:" +String.valueOf(String.valueOf(new String(packet.recDeliver.usMsgContent))));
}
else
{
if(packet.recDeliver.ucMsgFmt==8)
{
byte[] q =packet.recDeliver.usMsgContent;
byte[] w=new byte[q.length];
//byte[] w = s.getBytes("GB2321");
//byte[] e = s.getBytes("GBK");
//byte[] r = s.getBytes("ASCII");
for(int a=0;a<q.length;a+=2)
{
w[a]=q[a+1];
w[a+1]=q[a];
}
System.out.println("packet.recDeliver.usMsgContent:" +new String(w,"Unicode"));
}
}
}
catch(Exception ee)
{
System.out.println("不支持短信编码格式!!"+packet.recDeliver.ucMsgFmt);
SendMessage1.SendMessage("接收线程不支持短信编码格式!!"+packet.recDeliver.ucMsgFmt+ee.getMessage());
}
System.out.println("packet.recDeliver.usReserve:" + packet.recDeliver.usReserve);
int nSeqId =(int)packet.recDeliver.nSeqId;
usMsgId = Long.toString(packet.recDeliver.usMsgId);
int ucRegister = (int)packet.recDeliver.ucRegister;
int ucMsgLen =(int)packet.recDeliver.ucMsgLen;
if(packet.recDeliver.ucMsgFmt==0 || packet.recDeliver.ucMsgFmt==15)
sMessageContent = String.valueOf(String.valueOf(new String(packet.recDeliver.usMsgContent)));
else
{
if(packet.recDeliver.ucMsgFmt==8)
try
{
byte[] q =packet.recDeliver.usMsgContent;
byte[] w=new byte[q.length];
//byte[] w = s.getBytes("GB2321");
//byte[] e = s.getBytes("GBK");
//byte[] r = s.getBytes("ASCII");
for(int a=0;a<q.length;a+=2)
{
w[a]=q[a+1];
w[a+1]=q[a];
}
sMessageContent =new String(w,"Unicode");
}
catch(Exception ex)
{
System.out.println("不支持短信编码格式!!");
SendMessage1.SendMessage("接收线程不支持短信编码格式!!"+ex.getMessage());
}
}
String sDstAddr = String.valueOf(String.valueOf(packet.recDeliver.sDstAddr));
String sServiceId = String.valueOf(String.valueOf(packet.recDeliver.sServiceId));
sSrcAddr = String.valueOf(String.valueOf(packet.recDeliver.sSrcAddr));
boolean b; //0001 1 345 8513933056056 TBY 1
if(sSrcAddr.Substring(0,5).Equals("01862"))
{
//int totalLength = sMessageContent.length();
int lastTab =sMessageContent.LastIndexOf(" ");
int telEnd =sMessageContent.LastIndexOf(" ",lastTab-1);
int telStart =sMessageContent.IndexOf(" ",8);
int firstTab =sMessageContent.IndexOf(" ");
int sencondTab = sMessageContent.IndexOf(" ",6);
//int d =sMessageContent.IndexOf("8613");
usMsgId =sMessageContent.substring(sencondTab+1,telStart);
sSrcAddr =sMessageContent.substring(telStart+1,telEnd);
sMessageContent =sMessageContent.substring(firstTab+1,sencondTab);
}
try
{
database.OperDatabase opdata =new database.OperDatabase();
b =opdata.InsertMO(nSeqId,usMsgId,sDstAddr,sServiceId,sSrcAddr,ucRegister,ucMsgLen,sMessageContent);
if(b == false)
{
System.out.println("插入数据库MO失败");
}
}
catch(Exception ef)
{
SendMessage1.SendMessage("插入数据库MO失败");
}
// mess.sendSubmit();
}
if(i == 1)
{
receipts++;
System.out.println("Receipt nember:" + receipts);
System.out.println("packet.recReceipt.nSeqId:" + packet.recReceipt.nSeqId);
System.out.println("packet.recReceipt.usMsgId:" + packet.recReceipt.usMsgId);
System.out.println("packet.recReceipt.sStat:" + packet.recReceipt.sStat);
System.out.println("packet.recReceipt.sSubmitTime:" + packet.recReceipt.sSubmitTime);
System.out.println("packet.recReceipt.sDoneTime:" + packet.recReceipt.sDoneTime);
System.out.println("packet.recReceipt.sDstAddr:" + packet.recReceipt.sDstAddr);
System.out.println("packet.recReceipt.nSmscSeqId:" + packet.recReceipt.nSmscSeqId);
int red = mess.sendDeliverRep(packet.recReceipt.usMsgId,packet.recDeliver.nSeqId);
if(red>=0)
System.out.println("清理状态包,包标志:" + Long.toString(packet.recDeliver.usMsgId)+packet.recDeliver.nSeqId);
}
break;
case com.aspire.cmppApi.cmppPacket.CMPP_Submit_REP:
System.out.println("读CMPP_Submit_REP.....");
submit_reps++;
System.out.println("读CMPP_Submit_REP NUmber:" + submit_reps);
System.out.println("packet.recSubmitRep.nSeqId:" + packet.recSubmitRep.nSeqId);
System.out.println("packet.recSubmitRep.usMsgId:" + packet.recSubmitRep.usMsgId);
System.out.println("packet.recSubmitRep.ucResult:" + packet.recSubmitRep.ucResult);
break;
case com.aspire.cmppApi.cmppPacket.CMPP_Active_Test: // '\b'
active_reqs++;
System.out.println("读CMPP_Active_Test num:" + active_reqs);
System.out.println("packet.recActiveTest.nSeqId:" + packet.recActiveTest.nSeqId);
break;
case com.aspire.cmppApi.cmppPacket.CMPP_Active_Test_REP:
active_reps++;
System.out.println("读CMPP_Active_Test_REP num:" + active_reps);
System.out.println("packet.recActiveTestRep.nSeqId:" + packet.recActiveTestRep.nSeqId);
System.out.println("packet.recActiveTestRep.ucSuccId:" + packet.recActiveTestRep.ucSuccId);
break;
case com.aspire.cmppApi.cmppPacket.CMPP_Query_REP:
query_reps++;
System.out.println("读CMPP_Query_REP times:" + query_reps);
RecCQueryRep reccqueryrep = new RecCQueryRep();
System.out.println("packet.recQueryRep.nSeqId:" + packet.recQueryRep.nSeqId);
System.out.println("packet.recQueryRep.sTime:" + packet.recQueryRep.sTime);
System.out.println("packet.recQueryRep.ucQueryType:" + packet.recQueryRep.ucQueryType);
System.out.println("packet.recQueryRep.sQueryCode:" + packet.recQueryRep.sQueryCode);
System.out.println("packet.recQueryRep.nMtTlMsg:" + packet.recQueryRep.nMtTlMsg);
System.out.println("packet.recQueryRep.nMtTlUsr:" + packet.recQueryRep.nMtTlUsr);
System.out.println("packet.recQueryRep.nMtScs:" + packet.recQueryRep.nMtScs);
System.out.println("packet.recQueryRep.nMtWt:" + packet.recQueryRep.nMtWt);
System.out.println("packet.recQueryRep.nMtFl:" + packet.recQueryRep.nMtFl);
System.out.println("packet.recQueryRep.nMoScs:" + packet.recQueryRep.nMoScs);
System.out.println("packet.recQueryRep.nMoWt:" + packet.recQueryRep.nMoWt);
System.out.println("packet.recQueryRep.nMoFl:" + packet.recQueryRep.nMoFl);
break;
case com.aspire.cmppApi.cmppPacket.CMPP_Cancel_REP:
System.out.println("读CMPP_Cancel_REP.....");
RecCCancelRep recccancelrep = new RecCCancelRep();
System.out.println("packet.recCancelRep.nSeqId:" + packet.recCancelRep.nSeqId);
System.out.println("packet.recCancelRep.ucSuccId:" + packet.recCancelRep.ucSuccId);
break;
case com.aspire.cmppApi.cmppPacket.CMPP_Terminate: // '\002'
System.out.println("读CMPP_Terminate.....");
System.out.println("packet.recTerminate.nSeqId:" + packet.recTerminate.nSeqId);
break;
case com.aspire.cmppApi.cmppPacket.CMPP_Terminate_REP:
System.out.println("读CMPP_Terminate_REP.....");
System.out.println("packet.recTerminateRep.nSeqId:" + i);
break;
default:
System.out.println("Unknown packet:" + j);
break;
}
}
} while(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -