📄 smgpdata.java
字号:
package smgpgw;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import java.beans.*;
import java.io.*;
//package smgw;
/*title:SMGP_Data.JAVA
* Description: 用户程序通过该类与Smgp类进行数据交换.
* 1、要发送的信息存入该类,送入Smgp打包,通过流返回;
* 2、接受的信息经过Smgp解析后存入该类返回
* Copyright:yongliu Copyright (c) 2000
* Company:talkweb
* @author
* @version 1.0
* 详细讲解:
*1、SMGP报文中发送信息和接受的信息包括消息头和消息体两部分(有的没有消息体)
* 消息头中的headCmdID指明了该消息的类型
*2、收到的命令包括:
1) SMGP_Connect 请求应用层连接 消息体:Source_Addr,AuthenticatorICP,Reverse
2) SMGP_Terminate 终止应用层连接 消息体:空
3) SMGP_Terminate_REP 终止应用层连接应答 消息体:空
4) SMGP_Deliver_REP 下发短信应答 消息体:Msg_Id,Tls_available,Result
5) SMGP_Submit 提交短信 消息体:Msg_id,Pk_total,Pk_number,Registered_Delivery
Msg_level,Service_id,Tls_available,Msg_Fmt
Msg_src,FeeType,FeeCode,Valid_Time,At_Time
Src_terminal_id,DestUsr_tl,Dest_terminal_id
6) SMGP_Query 发送短信状态查询 消息体:Tls_available,Time,Query_Type,Query_Code
7) SMGP_Cancel 删除短信 消息体:Msg_Id,Tls_available
8) SMGP_Active_Test 激活测试 消息体:Tls_available
9) SMGP_Active_Test_REP 激活测试应答 消息体:Tls_available,Success_Id
*3、发送的命令包括:
1) SMGP_Connect_REP 请求连接应答 消息体:Status,AuthenticatorISMG,Tls_available
2) SMGP_Deliver 短信下发 消息体:Msg_Id,Msg_Level,Tls_available,Service_id
Msg_Fmt,Srcterminal_id,Registered_Delivery,Msg_Length
Msg_Content
3) SMGP_Submit_REP 提交短信应答 消息体:同SMGP_Deliver
4) SMGP_Query_REP 短信状态查询结果 消息体:Tls_available,Time,Query_Type,Query_Code
MT_TLMsg,MT_Tlusr,MT_Scs,MT_WT
MT_FL,MO_Scs,MO_WT,MO_FL
5) SMGP_Cancel_REP 删除短信应答 消息体:Tls_available,Success_Id
6) SMGP_Active_Test_REP 激活测试应答 消息体:同上
7) SMGP_Active_Test 激活测试 消息体:同上
8) SMGP_Terminate 终止应用层连接 消息体:同上
9) SMGP_Terminate_Rep 终止应用层连接应答 消息体:同上
*/
public class SmgpData{
public int totalSize; //消息总长度
//消息头
public int headCmdID; //消息类型 当该值等于0时表示该消息无效
public int headSeqcNo=0; //消息流水号(可以用来完成消息的确认)
//消息体
/*请求连接*/
public String ClientID ="";
public String AuthenticatorClient = "";
public byte LoginMode = 0 ;
public int timestamp;//时间戳
public byte version =2;
/**
* 登陆回应
*/
public String AuthenticatorServer = "";
/**
* 公用信息
*/
public String MsgID = "";
public int status = 0;
public byte msgMsgFormat;
public String msgSrcTermID = "";
public String msgDestTermID = "";
public byte msgMsgLength;
public String msgMsgContent;
public String msgReserve = "";
/**
* submit
*/
public byte msgSubType ;
public byte msgNeedReport ;
public byte msgPriority;
public String msgServiceID = "";
public String msgFeeType = "";
public String msgFeeCode = "";
public String msgValidTime = "";
public String msgAtTime = "";
public String msgChargeTermID = "";
public byte msgDestTermIDCount;
public String msgDestTermIDArr[];
public String msgFixedFee = "";
/**
* delive
*/
public byte msgIsReport ;
public String msgRecvTime = "";
public String msgSubmit_date = "";
public String msgdone_date = "";
public String msgStat = "";
public String msgErr = "000";
public String msgSub = "001";
public String msgDivrd = "001";
public String msgTxt = "";
public byte parseResult;
public byte[] getPackage()
{
ByteArrayOutputStream byteArrayOutStream = new ByteArrayOutputStream();
DataOutputStream dataOutStream = new DataOutputStream(byteArrayOutStream);
Smgp.getCommand(dataOutStream,this);
return byteArrayOutStream.toByteArray();
}
public SmgpData parsePackage(byte[] receivedPackage)
{
return Smgp.parseMessage(receivedPackage);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -