📄 messagehead.cs
字号:
get
{
return this._SMSC_sequence;
}
set
{
this._SMSC_sequence = value;
}
}
private string _Dest_terminal_Id;// 32 Octet String 目的终端MSISDN号码(SP发送CMPP_SUBMIT消息的目标终端)。
private uint _SMSC_sequence; //4 Unsigned Integer 取自SMSC发送状态报告的消息体中的消息标识。
public override string ToString()
{
return string.Format
(
"[\r\nMessageBody:"
+ "\r\n\tBodyLength: {0}"
+ "\r\n\tDest_terminal_Id: {1}"
+ "\r\n\tDone_time: {2}"
+ "\r\n\tMsg_Id: {3}"
+ "\r\n\tSMSC_sequence: {4}"
+ "\r\n\tStat: {5}"
+ "\r\n\tSubmit_time: {6}"
+ "\r\n]"
, CMPP_Msg_Content.BodyLength
, this._Dest_terminal_Id
, this._Done_time
, this._Msg_Id
, this._SMSC_sequence
, this._Stat
, this._Submit_time
);
}
}
public class CMPP_QUERY //:CMPP_Request
{
private Message_Header _Header;
private string _Time;//8 Octet String 时间YYYYMMDD(精确至日)。
private uint _Query_Type;//1 Unsigned Integer 查询类别:
// 0:总数查询
// 1:按业务类型查询。
private string _Query_Code;//10 Octet String 查询码。
// 当Query_Type为0时,此项无效;当Query_Type为1时,次项填写业务类型Service_Id。
private string _Reserve;//8 Octet String 保留
public Message_Header Header
{
get
{
return this._Header;
}
}
public string Time
{
get
{
return this._Time;
}
}
public uint Query_Type
{
get
{
return this._Query_Type;
}
}
public string Query_Code
{
get
{
return this._Query_Code;
}
}
public string Reserve
{
get
{
return this._Reserve;
}
}
public const int BodyLength = 8 + 1 + 10 + 8;
public CMPP_QUERY
(
DateTime Time
,uint Query_Type
,string Query_Code
,string Reserve
,uint Sequence_Id
)
{
this._Time = Util.Get_YYYYMMDD_String(Time);
this._Query_Type = Query_Type;
this._Query_Code = Query_Code;
this._Reserve = Reserve;
this._Header = new Message_Header((uint)(Message_Header.Length + BodyLength),CMPP_Command_Id.CMPP_QUERY,Sequence_Id);
}
public byte[] ToBytes()
{
int i = 0;
byte[] bytes = new byte[Message_Header.Length + BodyLength];
//header
byte[] buffer = new byte[Message_Header.Length];
buffer = this._Header.ToBytes();
buffer.CopyTo(bytes, 0);
//Time 8
i += Message_Header.Length;
buffer = new byte[10];
buffer = Encoding.ASCII.GetBytes(this._Time);
buffer.CopyTo(bytes, i);
//Query_Type 1
i += 8;
bytes[i++] = (byte)this._Query_Type;
//Query_Code 10
buffer = new byte[10];
buffer = Encoding.ASCII.GetBytes(this._Query_Code);
buffer.CopyTo(bytes, i);
return bytes;
}
public override string ToString()
{
return "[\r\n"
+ this._Header.ToString() + "\r\n"
+ string.Format
(
"\tMessageBody:"
+ "\r\n\t\tQuery_Code: {0}"
+ "\r\n\t\tQuery_Type: {1}"
+ "\r\n\t\tReserve: {2}"
+ "\r\n\t\tTime: {3}"
+ "\r\n]"
, this._Query_Code
, this._Query_Type
, this._Reserve
, this._Time
)
+ "\r\n]";
}
}
public class CMPP_QUERY_RESP
{
public Message_Header Header
{
get
{
return this._Header;
}
}
public string Time
{
get
{
return this._Time;
}
}
public uint Query_Type
{
get
{
return this._Query_Type;
}
}
public string Query_Code
{
get
{
return this._Query_Code;
}
}
public uint Mt_TlMsg
{
get
{
return this._MT_TLMsg;
}
}
public uint Mt_Tlusr
{
get
{
return this._MT_Tlusr;
}
}
public uint MT_Scs
{
get
{
return this._MT_Scs;
}
}
public uint MT_WT
{
get
{
return this._MO_WT;
}
}
public uint MT_FL
{
get
{
return this._MT_FL;
}
}
public uint MO_Scs
{
get
{
return this._MO_Scs;
}
}
public uint MO_WT
{
get
{
return this._MO_WT;
}
}
public uint MO_FL
{
get
{
return this._MT_FL;
}
}
private Message_Header _Header;
private string _Time;// 8 Octet String 时间(精确至日);
private uint _Query_Type;// 1 Unsinged Integer 查询类别:
// 0:总数查询;
// 1:按业务类型查询。
private string _Query_Code; // 10 Octet String 查询码。
private uint _MT_TLMsg; // 4 Unsigned Integer 从SP接收信息总数。
private uint _MT_Tlusr; // 4 Unsigned Integer 从SP接收用户总数。
private uint _MT_Scs; // 4 Unsigned Integer 成功转发数量。
private uint _MT_WT; // 4 Unsigned Integer 待转发数量。
private uint _MT_FL; // 4 Unsigned Integer 转发失败数量。
private uint _MO_Scs; // 4 Unsigned Integer 向SP成功送达数量。
private uint _MO_WT; // 4 Unsigned Integer 向SP待送达数量。
private uint _MO_FL; // 4 Unsigned Integer 向SP送达失败数量。
public const int BodyLength = 8 // Octet String 时间(精确至日)。
+ 1 // Unsigned Integer 查询类别:
// 0:总数查询;
// 1:按业务类型查询。
+ 10 // Octet String 查询码。
+ 4 // Unsigned Integer 从SP接收信息总数。
+ 4 // Unsigned Integer 从SP接收用户总数。
+ 4 // Unsigned Integer 成功转发数量。
+ 4 // Unsigned Integer 待转发数量。
+ 4 // Unsigned Integer 转发失败数量。
+ 4 // Unsigned Integer 向SP成功送达数量。
+ 4 // Unsigned Integer 向SP待送达数量。
+ 4; // Unsigned Integer 向SP送达失败数量。
public CMPP_QUERY_RESP(Byte[] bytes)
{
int i = 0;
//header = 12
byte[] buffer = new byte[Message_Header.Length];
Buffer.BlockCopy(bytes, 0, buffer, 0, buffer.Length);
this._Header = new Message_Header(buffer);
//Time8
i += Message_Header.Length;
buffer = new byte[8];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
this._Time = Encoding.ASCII.GetString(buffer);
//Query_Type 1
i += 8;
this._Query_Type = (uint)bytes[i++];
//Query_Code 10
buffer = new byte[10];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
this._Query_Code = Encoding.ASCII.GetString(buffer);
//MT_TLMsg 4
i += 10;
buffer = new byte[4];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
Array.Reverse(buffer);
this._MT_TLMsg = BitConverter.ToUInt32(buffer, 0);
//MT_Tlusr 4
i += 4;
buffer = new byte[4];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
Array.Reverse(buffer);
this._MT_Tlusr = BitConverter.ToUInt32(buffer, 0);
//MT_Scs 4
i += 4;
buffer = new byte[4];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
Array.Reverse(buffer);
this._MT_Scs = BitConverter.ToUInt32(buffer, 0);
//MT_WT 4
i += 4;
buffer = new byte[4];
Buffer.BlockCopy(bytes,i,buffer,0,buffer.Length);
Array.Reverse(buffer);
this._MT_WT = BitConverter.ToUInt32(buffer, 0);
//MT_FL 4
i += 4;
buffer = new byte[4];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
Array.Reverse(buffer);
this._MT_FL = BitConverter.ToUInt32(buffer, 0);
//MO_Scs 4
i += 4;
buffer = new byte[4];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
Array.Reverse(buffer);
this._MO_Scs = BitConverter.ToUInt32(buffer, 0);
//MO_WT 4
i += 4;
buffer = new byte[4];
Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
Array.Reverse(buffer);
this._MO_WT = BitConverter.ToUInt32(buffer, 0);
//MO_FL 4
i += 4;
buffer = new byte[4];
Buffer.BlockCopy(bytes, i, buffer, 0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -