📄 deliver.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 + -