cmppconnect.java

来自「短信网关发送接受平台。」· Java 代码 · 共 95 行

JAVA
95
字号
import java.lang.*;
import java.net.*;
import java.io.*;

import CMPPCommandID;
import CMPPPacket;

public class CMPPConnect extends CMPPPacket
{
	public String source_addr = null;// 6 bytes
	public String authenticator_sp = null;// 16 bytes
	public byte version = 0x12;// 1 bytes
	
	//保留字段
	private String reserved = "19751204";// 8 bytes
	
	public CMPPConnect(int sequence_id)
	{
		super(CMPPCommandID.CMPP_CONNECT,sequence_id);
	}
	
	public CMPPConnect(CMPPPacket packet)
	{
		super(packet);
	}
	
	public boolean isValid()
	{
		if(command_id != CMPPCommandID.CMPP_CONNECT)
		{
			CMPPLog.log("CMPPConnect.isValid : not a CMPP_CONNECT command !",
				CMPPLog.LOG_CMPP_CONNECT | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}
		
		if(source_addr == null && source_addr.length() != 6)
		{
			CMPPLog.log("CMPPConnect.isValid : invalid source_addr length !",
				CMPPLog.LOG_CMPP_CONNECT | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}
		
		if(authenticator_sp == null && authenticator_sp.length() != 16)
		{
			CMPPLog.log("CMPPConnect.isValid : invalid authenticator_sp length !",
				CMPPLog.LOG_CMPP_CONNECT | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}
		
		return true;
	}
	
	public void dump(long lMethod)
	{
		CMPPLog.log("\tsource_addr = \"" + source_addr + "\"",
			CMPPLog.LOG_CMPP_CONNECT | lMethod);

		CMPPLog.log("\tauthenticator_sp = \"" + authenticator_sp + "\"",
			CMPPLog.LOG_CMPP_CONNECT | lMethod);

		CMPPLog.log("\tversion = 0x" + CMPPUtility.toHexString(version),
			CMPPLog.LOG_CMPP_CONNECT | lMethod);

		CMPPLog.log("\treserved = \"" + reserved + "\"",
			CMPPLog.LOG_CMPP_CONNECT | lMethod);
	}
	
	public void wrap()
		throws CMPPException
	{
		CMPPLog.log("CMPPConnect.wrap : wrap elements !",
			CMPPLog.LOG_CMPP_CONNECT | CMPPLog.LOG_WRAP_METHOD);

		dump(CMPPLog.LOG_WRAP_METHOD);
		
		insertString(reserved);
		insertByte(version);
		insertString(authenticator_sp);
		insertString(source_addr);
	}
	
	public void unwrap()
		throws CMPPException
	{
		CMPPLog.log("CMPPConnect.unwrap : unwrap elements !",
			CMPPLog.LOG_CMPP_CONNECT | CMPPLog.LOG_UNWRAP_METHOD);
		
		source_addr = getString(6);
		authenticator_sp = getString(16);
		version = getByte();
		reserved = getString(8);
			
		dump(CMPPLog.LOG_UNWRAP_METHOD);
	}
}

⌨️ 快捷键说明

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