📄 cmppserverrequest.java
字号:
import java.lang.*;
import java.net.*;
import java.io.*;
import CMPPRequest;
public class CMPPServerRequest extends CMPPRequest
{
final static int DEFAULT_TIMEOUT = 15000;
//数据包
CMPPPacket m_packet = null;
public CMPPServerRequest(CMPPSynchronizedIO synio,CMPPAsynchronizedIO asynio,CMPPPacket packet)
throws CMPPException
{
super(synio,asynio);
m_packet = packet;
}
public void logout()
//同步logout
{
CMPPTerminate terminate = new CMPPTerminate(++ m_asynio.m_nSequenceID);
request(terminate,DEFAULT_TIMEOUT);
m_asynio.m_bAuthenticated = false;
}
//异步activetest
public void activetest()
throws CMPPException
{
CMPPActiveTest activetest = new CMPPActiveTest(++ m_asynio.m_nSequenceID);
//发出异步请求
m_packet = activetest;
startup();
}
public void deliver()
throws CMPPException
{
CMPPDeliver deliver = new CMPPDeliver(++ m_asynio.m_nSequenceID);
deliver.msg_id = 1;
deliver.destnation_id = "000000000000000888888";
deliver.service_id = "0000000000";
deliver.msg_fmt = 0;
deliver.src_terminal_id = "000000008613910139946";
deliver.registered_delivery = 0;
String strMessage = "Hello World ! We are using CMPPSimulator 1.2 !";
deliver.msg_length = (byte)(strMessage.length() & 0xff);
deliver.msg_content = strMessage;
//发出异步请求
m_packet = deliver;
startup();
}
public void report()
throws CMPPException
{
CMPPDeliver deliver = new CMPPDeliver(++ m_asynio.m_nSequenceID);
deliver.msg_id = 1;
deliver.destnation_id = "000000000000000888888";
deliver.service_id = "0000000000";
deliver.msg_fmt = 0;
deliver.src_terminal_id = "000000008613910139946";
deliver.registered_delivery = 1;
deliver.m_status_report.msg_id = 1;
deliver.m_status_report.stat = "0000000";
deliver.m_status_report.submit_time = "0110011200";
deliver.m_status_report.done_time = "0110011201";
deliver.m_status_report.dest_terminal_id = "000000008613001081371";
deliver.m_status_report.smsc_sequence = 128;
//发出异步请求
m_packet = deliver;
startup();
}
protected void OnDeliverResponse(CMPPDeliverResponse response)
//CMPP_DELIVER响应回调
{
}
public void run()
{
m_nStatus = THREAD_RUNNING;
if(isRunning() && m_packet != null)
{
if(m_packet.command_id == CMPPCommandID.CMPP_CONNECT ||
m_packet.command_id == CMPPCommandID.CMPP_SUBMIT ||
m_packet.command_id == CMPPCommandID.CMPP_CANCEL ||
m_packet.command_id == CMPPCommandID.CMPP_QUERY)
//非服务器请求
{
CMPPLog.log("CMPPServerRequest.run : not a server request !",
CMPPLog.LOG_CMPP_SERVER_REQUEST);
}
else if(m_packet.command_id == CMPPCommandID.CMPP_TERMINATE)
//非异步请求
{
CMPPLog.log("CMPPServerRequest.run : not an asynchronized request !",
CMPPLog.LOG_CMPP_SERVER_REQUEST);
}
else if(m_asynio.m_bAuthenticated)
//已经通过效验
{
if(m_packet.command_id == CMPPCommandID.CMPP_ACTIVETEST)
{
CMPPActiveTest activetest = (CMPPActiveTest) m_packet;
CMPPActiveTestResponse response = request(activetest,DEFAULT_TIMEOUT);
if(response != null)
{
m_asynio.m_nErrorCount = 0;
}
else
{
m_asynio.m_nErrorCount ++;
}
}
else if(m_packet.command_id == CMPPCommandID.CMPP_DELIVER)
{
CMPPDeliver deliver = (CMPPDeliver) m_packet;
CMPPDeliverResponse response = request(deliver,DEFAULT_TIMEOUT);
if(response != null)
{
//响应回调
OnDeliverResponse(response);
}
}
else
{
CMPPLog.log("CMPPServerRequest.run : unhandled request !",
CMPPLog.LOG_CMPP_SERVER_REQUEST);
}
}
else
{
CMPPLog.log("CMPPServerRequest.run : unauthorized request !",
CMPPLog.LOG_CMPP_SERVER_REQUEST);
}
}
m_nStatus = THREAD_STOPPED;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -