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

📄 cmppclientrequest.java

📁 短信网关发送接受平台。
💻 JAVA
字号:
import java.lang.*;
import java.net.*;
import java.io.*;

import CMPPRequest;

public class CMPPClientRequest extends CMPPRequest
{
	final static int DEFAULT_TIMEOUT 		= 15000;
	
	//数据包
	CMPPPacket m_packet = null;
	
	public CMPPClientRequest(CMPPSynchronizedIO synio,CMPPAsynchronizedIO asynio,CMPPPacket packet)
		throws CMPPException
	{
		super(synio,asynio);
		m_packet = packet;
	}
	
	public boolean login()
	//同步login
	{
		//生成一个连接
		CMPPConnect connect = new CMPPConnect(++ m_asynio.m_nSequenceID);
		
		//设置连接数据
		connect.source_addr = "888888";
		connect.authenticator_sp = "0123456789abcdef";
		connect.version = 0x12;
		
		CMPPConnectResponse response = request(connect,DEFAULT_TIMEOUT);
		if(response != null && response.status == 0 
			&& response.authenticator_ismg.equals("connection is ok"))
		//检查状态
		{
			m_asynio.m_bAuthenticated = true;
			return true;
		}
		
		m_asynio.m_bAuthenticated = false;
		return false;
	}

	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();
	}
	
	protected void OnSubmitResponse(CMPPSubmitResponse response)
	//CMPP_SUBMIT响应回调
	{
	}

	protected void OnCancelResponse(CMPPCancelResponse response)
	//CMPP_CANCEL响应回调
	{
	}

	protected void OnQueryResponse(CMPPQueryResponse response)
	//CMPP_QUERY响应回调
	{
	}

	public void run()
	{
		m_nStatus = THREAD_RUNNING;

		if(isRunning() && m_packet != null)
		{
			if(m_packet.command_id == CMPPCommandID.CMPP_DELIVER)
			//非客户端请求
			{
				CMPPLog.log("CMPPClientRequest.run : not a client request !",
					CMPPLog.LOG_CMPP_CLIENT_REQUEST);
			}
			//非服务器请求
			else if(m_packet.command_id == CMPPCommandID.CMPP_CONNECT ||
				m_packet.command_id == CMPPCommandID.CMPP_TERMINATE)
			//非异步请求
			{
				CMPPLog.log("CMPPClientRequest.run : not an asynchronized request !",
					CMPPLog.LOG_CMPP_CLIENT_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_SUBMIT)
				{
					CMPPSubmit submit = (CMPPSubmit) m_packet;
					
					CMPPSubmitResponse response = request(submit,DEFAULT_TIMEOUT);
					if(response != null)
					{
						//响应回调
						OnSubmitResponse(response);
					}
				}
				else if(m_packet.command_id == CMPPCommandID.CMPP_CANCEL)
				{
					CMPPCancel cancel = (CMPPCancel) m_packet;
					
					CMPPCancelResponse response = request(cancel,DEFAULT_TIMEOUT);
					if(response != null)
					{
						//响应回调
						OnCancelResponse(response);
					}
				}
				else if(m_packet.command_id == CMPPCommandID.CMPP_QUERY)
				{
					CMPPQuery query = (CMPPQuery) m_packet;
					
					CMPPQueryResponse response = request(query,DEFAULT_TIMEOUT);
					if(response != null)
					{
						//响应回调
						OnQueryResponse(response);
					}
				}
				else
				{
					CMPPLog.log("CMPPClientRequest.run : unhandled request !",
						CMPPLog.LOG_CMPP_CLIENT_REQUEST);
				}
			}
			else
			{
				CMPPLog.log("CMPPClientRequest.run : unauthorized request !",
					CMPPLog.LOG_CMPP_CLIENT_REQUEST);
			}
		}
				
		m_nStatus = THREAD_STOPPED;
	}	
}	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -