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

📄 deliver.java

📁 联通的SGIP协议Java实现
💻 JAVA
字号:
package spApi;

import java.io.OutputStream;

public class Deliver extends SGIP_Command {
	
	private static final int CommandLength = 57;
	private static final int CommandID = 4;
	String UserNumber;
	String SpNumber;
	int TP_pid;
	int TP_udhi;
	int MessageCoding;
	int MessageLength;
	byte[] MessageByte;
	String MessageContent;

	public Deliver(long paramLong){
		super(paramLong,CommandLength,CommandID);
	}
	public Deliver(SGIP_Command paramSGIP_Command) {
		super(paramSGIP_Command);
	}

	public Deliver() {
		super(CommandLength,CommandID);
	}

	public Deliver(long paramLong,String userNumber, String spNumber, int tp_pid, int tp_udhi,
			int messageCoding, int messageLength, 
			String messageContent) {
		
		super(paramLong,CommandLength,CommandID);
		
		UserNumber = userNumber;
		SpNumber = spNumber;
		TP_pid = tp_pid;
		TP_udhi = tp_udhi;
		MessageCoding = messageCoding;
	
		MessageLength = messageLength;
		MessageContent=messageContent;
	}

	public int readbody() {
		byte[] arrayOfByte = new byte[40];

		this.UserNumber = new String(this.bodybytes, 0, 21);
//		System.out.println("<><><<<<<<<<<<<<<<"+UserNumber.toString()+">>>>>>>>>>>>>>>>>>><><>");
		this.SpNumber = new String(this.bodybytes, 21, 21);
		this.TP_pid = this.bodybytes[42];
		this.TP_udhi = this.bodybytes[43];
		this.MessageCoding = this.bodybytes[44];
		SGIP_Command.BytesCopy(this.bodybytes, arrayOfByte, 45, 48, 0);
		this.MessageLength = SGIP_Command.Bytes4ToInt(arrayOfByte);
		if (this.MessageLength > 160) {
			System.out.println("Message Length is too long!  "
					+ this.MessageLength);
			this.MessageLength = 160;
		}
		this.MessageByte = new byte[this.MessageLength];
		SGIP_Command.BytesCopy(this.bodybytes, this.MessageByte, 49,
				49 + this.MessageLength - 1, 0);
		this.MessageContent = new String(this.MessageByte);
		return 0;
	}
	public int write(OutputStream paramOutputStream) {
		byte[] arrayOfByte;
		try {

			arrayOfByte = new byte[TotalLength];
			synchronized (Seq.seqclass) {
				Seq.computeSequence();
				this.head.setSeq_2(seq.getGlobalSeq_2());
				this.head.setSeq_3(seq.getGlobalSeq_3());
			}
			BytesCopy(this.head.Head, arrayOfByte, 0, 19, 0);
			BytesCopy(this.bodybytes, arrayOfByte, 0, TotalLength - 20 - 1, 20);
//			BytesCopy(this.bodybytes, arrayOfByte, 0, TotalLength , 0);

//			System.out.println(TotalLength - 20 - 1);
			paramOutputStream.write(arrayOfByte);
			return 0;
		} catch (Exception localException) {
			System.out.println(localException.toString());
		}
		return -1;
	}
	public String getUserNumber() {
		return this.UserNumber;
	}

	public String getSPNumber() {
		return this.SpNumber;
	}

	public int getTP_pid() {
		return this.TP_pid;
	}

	public int getTP_udhi() {
		return this.TP_udhi;
	}

	public int getMessageCoding() {
		return this.MessageCoding;
	}

	public int getMessageLength() {
		return this.MessageLength;
	}

	public byte[] getMessageByte() {
		return this.MessageByte;
	}

	public String getMessageContent() {
		return this.MessageContent;
	}
	public void setMessageContent(String messageContent) {
		MessageContent = messageContent;
	}
	public void print(){
		System.out.println("******************[--\n"+this.getMessageContent()+"\n--]*****************");

	}
	
}

⌨️ 快捷键说明

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