⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmppserverrequest.java

📁 短信网关发送接受平台。
💻 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 + -