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

📄 sms.cs

📁 这是2005年6月云南移动短信网关升级到3.0时写的
💻 CS
📖 第 1 页 / 共 5 页
字号:
            }
        }
        public string Stat
        {
            get
            {
                return _Stat;
            }
            set
            {
                _Stat = value;
            }
        }
        public string Submit_time
        {
            get
            {
                return _Submit_time;
            }
            set
            {
                _Submit_time = value;
            }
        }
        public string Done_time
        {
            get
            {
                return _Done_time;
            }
            set
            {
                _Done_time = value;
            }
        }
        public string Dest_terminal_Id
        {
            get
            {
                return _Dest_terminal_Id;
            }
            set
            {
                _Dest_terminal_Id = value;
            }
        }
        public uint SMSC_sequence
        {
            get
            {
                return _SMSC_sequence;
            }
            set
            {
                _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
                 , _Dest_terminal_Id
                 , _Done_time
                 , _Msg_Id
                 , _SMSC_sequence
                 , _Stat
                 , _Submit_time
                );
        }
    }
    public class CMPP_QUERY //: CMPP_Request
    {
        private MessageHeader _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 MessageHeader Header
        {
            get
            {
                return _Header;
            }
        }
        public string Time
        {
            get
            {
                return _Time;
            }
        }
        public uint Query_Type
        {
            get
            {
                return _Query_Type;
            }
        }
        public string Query_Code
        {
            get
            {
                return _Query_Code;
            }
        }
        public string Reserve
        {
            get
            {
                return _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
         )
        {
            _Time = Utility.Get_YYYYMMDD_String(Time);
            _Query_Type = Query_Type;
            _Query_Code = Query_Code;
            _Reserve = Reserve;
            _Header = new MessageHeader
                 (
                  (uint)(MessageHeader.Length + BodyLength)
                  , CMPP_Command_Id.CMPP_QUERY
                  , Sequence_Id
                 );
        }
        public byte[] ToBytes()
        {
            int i = 0;
            byte[] bytes = new byte[MessageHeader.Length + BodyLength];
            //header
            byte[] buffer = new byte[MessageHeader.Length];
            buffer = _Header.ToBytes();
            buffer.CopyTo(bytes, 0);
            //Time 8
            i += MessageHeader.Length;
            buffer = new byte[10];
            buffer = Encoding.ASCII.GetBytes(_Time);
            buffer.CopyTo(bytes, i);
            //Query_Type 1
            i += 8;
            bytes[i++] = (byte)_Query_Type;
            //Query_Code 10
            buffer = new byte[10];
            buffer = Encoding.ASCII.GetBytes(_Query_Code);
            buffer.CopyTo(bytes, i);
            //Reserve 8
            i += 10;
            buffer = new byte[8];
            buffer = Encoding.ASCII.GetBytes(_Reserve);
            buffer.CopyTo(bytes, i);
            return bytes;
        }
        public override string ToString()
        {
            return "[\r\n"
              + _Header.ToString() + "\r\n"
              + "\t"
              + string.Format
                 (
                  "MessageBody:"
                  + "{0}Query_Code: {1}"
                  + "{0}Query_Type: {2}"
                  + "{0}Reserve: {3}"
                  + "{0}Time: {4}"
                  , "\r\n\t\t"
                  , _Query_Code
                  , _Query_Type
                  , _Reserve
                  , _Time
                 )
              + "\r\n]";
        }
    }
    public class CMPP_QUERY_RESP
    {
        public MessageHeader Header
        {
            get
            {
                return _Header;
            }
        }
        public string Time
        {
            get
            {
                return _Time;
            }
        }
        public uint Query_Type
        {
            get
            {
                return _Query_Type;
            }
        }
        public string Query_Code
        {
            get
            {
                return _Query_Code;
            }
        }
        public uint Mt_TlMsg
        {
            get
            {
                return _MT_TLMsg;
            }
        }
        public uint Mt_Tlusr
        {
            get
            {
                return _MT_Tlusr;
            }
        }
        public uint Mt_Scs
        {
            get
            {
                return _MT_Scs;
            }
        }
        public uint MT_WT
        {
            get
            {
                return _MT_WT;
            }
        }
        public uint MT_FL
        {
            get
            {
                return _MT_FL;
            }
        }
        public uint MO_Scs
        {
            get
            {
                return _MO_Scs;
            }
        }
        public uint MO_WT
        {
            get
            {
                return _MO_WT;
            }
        }
        public uint MO_FL
        {
            get
            {
                return _MO_FL;
            }
        }
        private MessageHeader _Header;
        private string _Time;         // 8 Octet String 时间(精确至日)。
        private uint _Query_Type;        // 1 Unsigned 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[MessageHeader.Length];
            Buffer.BlockCopy(bytes, 0, buffer, 0, buffer.Length);
            _Header = new MessageHeader(buffer);
            //Time 8
            i += MessageHeader.Length;
            buffer = new byte[8];
            Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
            _Time = Encoding.ASCII.GetString(buffer);
            //Query_Type 1
            i += 8;
            _Query_Type = (uint)bytes[i++];
            //Query_Code 10
            buffer = new byte[10];
            Buffer.BlockCopy(bytes, i, buffer, 0, buffer.Length);
            _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);
            _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);
            _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);
            _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);
            _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);
            _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);
            _MO_Scs = BitConverter.ToUInt32(buffer, 0);
            //MO_WT 4
            i += 4;
            buffer = new byte[4];
            Buffer.BlockCop

⌨️ 快捷键说明

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