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

📄 messagehead.cs

📁 移动MISC1.6正向、反向定制、取消接口
💻 CS
📖 第 1 页 / 共 5 页
字号:
                }
            }
            public uint Dest_terminal_type
            {
                get
                {
                    return this._Dest_terminal_type;
                }
                set 
                {
                    this._Dest_terminal_type = value;
                }
            }
            public uint Msg_Length
            {
                get
                {
                    return this._Msg_Length;
                }
                set 
                {
                    this._Msg_Length = value;
                }
            }
            public string Msg_Content
            {
                get
                {
                    return this._Msg_Content;
                }
                set
                {
                    this._Msg_Content = value;
                    this.SetHeader();
                }
            }
            public string LinkId
            {
                get
                {
                    return this._LinkID;
                }
                set
                {
                    this._LinkID = value;
                }
            }
            public override string ToString()
            {
                return "[\r\n"
                   + this._Header.ToString() + "\r\n"
                   + string.Format
                   (
                    "\tMessageBody:"
                    + "\r\n\t\tAt_Time: {0}"
                    + "\r\n\t\tBodyLength: {1}"
                    + "\r\n\t\tDest_terminal_Id: {2}"
                    + "\r\n\t\tDest_terminal_type: {3}"
                    + "\r\n\t\tDestUsr_tl: {4}"
                    + "\r\n\t\tFee_terminal_Id: {5}"
                    + "\r\n\t\tFee_terminal_type: {6}"
                    + "\r\n\t\tFee_UserType: {7}"
                    + "\r\n\t\tFeeCode: {8}"
                    + "\r\n\t\tFeeType: {9}"
                    + "\r\n\t\tLinkID: {10}"
                    + "\r\n\t\tMsg_Content: {11}"
                    + "\r\n\t\tMsg_Fmt: {12}"
                    + "\r\n\t\tMsg_Id: {13}"
                    + "\r\n\t\tMsg_Length: {14}"
                    + "\r\n\t\tMsg_level: {15}"
                    + "\r\n\t\tMsg_src: {16}"
                    + "\r\n\t\tPk_number: {17}"
                    + "\r\n\t\tPk_total: {18}"
                    + "\r\n\t\tRegistered_Delivery: {19}"
                    + "\r\n\t\tSequence_Id: {20}"
                    + "\r\n\t\tService_Id: {21}"
                    + "\r\n\t\tSrc_Id: {22}"
                    + "\r\n\t\tTP_pId: {23}"
                    + "\r\n\t\tTP_udhi: {24}"
                    + "\r\n\t\tValId_Time: {25}"
                    , this._At_Time
                    , this._BodyLength
                    , String.Join(",", this._Dest_terminal_Id)
                    , this._Dest_terminal_type
                    , this._DestUst_tl
                    , this._Fee_terminal_Id
                    , this._Fee_terminal_type
                    , this._Fee_UserType
                    , this._FeeCode
                    , this._FeeType
                    , this._LinkID
                    , this._Msg_Content
                    , this._Msg_Fmt
                    , this._Msg_Id
                    , this._Msg_Length
                    , this._Msg_level
                    , this._Msg_src
                    , this._Pk_number
                    , this._Pk_total
                    , this._Registered_Delivery
                    , this._Sequence_Id
                    , this._Service_Id
                    , this._Src_Id
                    , this._TP_pId
                    , this._TP_udhi
                    , this._ValId_Time
                   )
                 + "\r\n]";
            }
        }
        public class CMPP_SUBMIT_RESP //: CMPP_Response
        {
            private Message_Header _Header;
            private uint _Msg_Id;
            private uint _Result;

            public const int BodyLength = 8 + 4;

            public uint Msg_Id
            {
                get
                {
                    return this._Msg_Id;
                }
            }

            public uint Result
            {
                get
                {
                    return this._Result;
                }
            }

            public Message_Header Header
            {
                get
                {
                    return this._Header;
                }
            }

            public CMPP_SUBMIT_RESP(byte[] bytes)
            {
                int i = 0;
                byte[] buffer = new byte[Message_Header.Length];
                Buffer.BlockCopy(bytes, 0, buffer, 0, buffer.Length);
                this._Header = new Message_Header(buffer);

                //Msg_Id
                i += Message_Header.Length;
                buffer = new byte[8];
                Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
                Array.Reverse(buffer);
                this._Msg_Id = BitConverter.ToUInt32(buffer, 0);

                //Result
                i += 8;
                buffer = new byte[4];

                Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
                Array.Reverse(buffer);
                this._Result = BitConverter.ToUInt32(buffer, 0);
            }
            public override string ToString()
            {
                return "[\r\n]"
                    + this._Header.ToString() + "\r\n"
                    + string.Format
                (
                "\tMessageBody:"
                + "\r\n\t\tMsg_Id: {0}"
                + "\r\n\t\tResult: {1}"

                ,this._Msg_Id
                , this._Result
                )
                + "\r\n]";
            }
        }
        public class CMPP_DELIVER //: CMPP_Request
        {
            public ulong Msg_Id
            {
                get 
                {
                    return _Msg_Id;
                }
            }

            public string Dest_Id
            {
                get
                {
                    return _Dest_Id;
                }
            }

            public string Service_Id
            {
                get
                {
                    return _Service_Id;
                }
            }

            public uint TP_pid
            {
                get
                {
                    return _TP_pid;
                }
            }

            public uint TP_udhi
            {
                get
                {
                    return _TP_udhi;
                }
            }

            public uint Msg_Fmt
            {
                get
                {
                    return _Msg_Fmt;
                }
            }

            public string Src_terminal_Id
            {
                get
                {
                    return _Src_terminal_Id;
                }
            }

            public uint Src_terminal_type
            {
                get
                {
                    return _Src_terminal_type;
                }
            }

            public uint Registered_Delivery
            {
                get
                {
                    return _Registered_Delivery;
              
                }
            }

            public uint Msg_Length
            {
                get
                {
                    return _Msg_Length;
                }
            }

            public string Msg_Content
            {
                get
                {
                    return _Msg_Content;
                }
            }

            public string LinkId
            {
                get
                {
                    return _LinkID;
                }
            }

            private ulong _Msg_Id; //8 Unsigned Integer 信息标识
            //   生成算法如下: 
            //   采用64位(8字节)的整数: 
            //   (1)时间(格式为MMDDHHMMSS,即月日时分秒):bit64~bit39,其中 
            //   bit64~bit61:月份的二进制表示; 
            //   bit60~bit56:日的二进制表示; 
            //   bit55~bit51:小时的二进制表示; 
            //   bit50~bit45:分的二进制表示; 
            //   bit44~bit39:秒的二进制表示; 
            //   (2)短信网关代码:bit38~bit17,把短信网关的代码转换为整数填写到该字段中; 
            //   (3)序列号:bit16~bit1,顺序增加,步长为1,循环使用。 
            //   各部分如不能填满,左补零,右对齐。
            private string _Dest_Id;// 21 Octet String 目的号码。 
            //   SP的服务代码,一般4--6位,或者是前缀为服务代码的长号码;该号码是手机用户短消息的被叫号码。
            private string _Service_Id;// 10 Octet String 业务标识,是数字、字母和符号的组合。
            private uint _TP_pid;// 1 Unsigned Integer GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9。
            private uint _TP_udhi;// 1 Unsigned Integer GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐。
            private uint _Msg_Fmt;// 1 Unsigned Integer 信息格式: 
            //   0:ASCII串; 
            //   3:短信写卡操作; 
            //   4:二进制信息; 
            //   8:UCS2编码; 
            //   15:含GB汉字。 
            private string _Src_terminal_Id;// 32 Octet String 源终端MSISDN号码(状态报告时填为CMPP_SUBMIT消息的目的终端号码)。
            private uint _Src_terminal_type;// 1 Unsigned Integer 源终端号码类型,0:真实号码;1:伪码。
            private uint _Registered_Delivery;// 1 Unsigned Integer 是否为状态报告: 
            //   0:非状态报告; 
            //   1:状态报告。 
            private uint _Msg_Length;// 1 Unsigned Integer 消息长度,取值大于或等于0。
            private string _Msg_Content;// Msg_length Octet String 消息内容。
            private string _LinkID;// 20 Octet String 点播业务使用的LinkID,非点播类业务的MT流程不使用该字段。

            private Message_Header _Header;

            public Message_Header Header
            {
                get
                {
                    return this._Header;
                }
            }

            public const int FixedBodyLength = 
                        8// Msg_Id Unsigned Interger 信息标识
                //   生成算法如下: 
                //   采用64位(8字节)的整数: 
                //   (1)时间(格式为MMDDHHMMSS,即月日时分秒):bit64~bit39,其中 
                //   bit64~bit61:月份的二进制表示; 
                //   bit60~bit56:日的二进制表示; 
                //   bit55~bit51:小时的二进制表示; 
                //   bit50~bit45:分的二进制表示; 
                //   bit44~bit39:秒的二进制表示; 
                //   (2) 短信网关代码:bit38~bit17,把短信网关的代码转换为整数填写到该字段中; 
                //   (3) 序列号:bit16~bit1,顺序增加,步长为1,循环使用。 
                //   各部分如不能填满,左补零,右对齐。 
                     + 21 // Dest_Id Octet String 目的号码。 
                //   SP的服务代码,一般4--6位,或者是前缀为服务代码的长号码;该号码是手机用户短消息的被叫号码。 
                     + 10 // Service_Id Octet String 业务标识,是数字、字母和符号的组合。 
                     + 1 // TP_pid Unsigned Integer GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9。 
                     + 1 // TP_udhi Unsigned Integer GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐。 
                     + 1 // Msg_Fmt Unsigned Integer 信息格式: 
                //   0:ASCII串; 
                //   3:短信写卡操作; 
                //   4:二进制信息; 
                //   8:UCS2编码; 
                //   15:含GB汉字。 
                     + 32 // Src_terminal_Id Octet String 源终端MSISDN号码(状态报告时填为CMPP_SUBMIT消息的目的终端号码)。 
                     + 1 // Src_terminal_type Unsigned Integer 源终端号码类型,0:真实号码;1:伪码。 
                     + 1 // Registered_Delivery Unsigned Integer 是否为状态报告: 
                //   0:非状态报告; 
                //   1:状态报告。 
                     + 1 // Msg_Length Unsigned Integer 消息长度,取值大于或等于0。 
                //Msg_length // Msg_Content Octet String 消息内容。 
                     + 20; // LinkID Octet String 点播业务使用的LinkID,非点播类业务的MT流程不使用该字段。
            private int _BodyLength;

            public int BodyLength
            {
                get

⌨️ 快捷键说明

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