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

📄 submit.cs

📁 短信串口通信 于短信网关通信协议的封装 C#实现的类库
💻 CS
📖 第 1 页 / 共 2 页
字号:
            get { return m_Priority; }
            set { m_Priority = value; }
        }
        /// <summary>
        ///ExpireTime	16	Text	短消息寿命的终止时间,如果为空,表示使用短消息中心的缺省值。时间内容为16个字符,格式为”yymmddhhmmsstnnp” ,其中“tnnp”取固定值“032+”,即默认系统为北京时间
        /// </summary>
        [SmsField(false, 12, 16)]
        public string ExpireTime
        {
            get { return m_ExpireTime; }
            set { m_ExpireTime = value; }
        }
        /// <summary>
        ///ScheduleTime	16	Text	短消息定时发送的时间,如果为空,表示立刻发送该短消息。时间内容为16个字符,格式为“yymmddhhmmsstnnp” ,其中“tnnp”取固定值“032+”,即默认系统为北京时间
        /// </summary>
        [SmsField(false, 13, 16)]
        public string ScheduleTime
        {
            get { return m_ScheduleTime; }
            set { m_ScheduleTime = value; }
        }
        /// <summary>
        ///ReportFlag	1	Integer	状态报告标记0-该条消息只有最后出错时要返回状态报告1-该条消息无论最后是否成功都要返回状态报告2-该条消息不需要返回状态报告3-该条消息仅携带包月计费信息,不下发给用户,要返回状态报告其它-保留缺省设置为0
        /// </summary>
        [SmsField(false, 14, 1)]
        public SubmitReportFlag ReportFlag
        {
            get { return m_ReportFlag; }
            set { m_ReportFlag = value; }
        }
        /// <summary>
        ///TP_pid	1	Integer	GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9
        /// </summary>
        [SmsField(false, 15, 1)]
        public byte TP_pid
        {
            get { return m_TP_pid; }
            set { m_TP_pid = value; }
        }
        /// <summary>
        ///TP_udhi	1	Integer	GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐
        /// </summary>
        [SmsField(false, 16, 1)]
        public byte TP_udhi
        {
            get { return m_TP_udhi; }
            set { m_TP_udhi = value; }
        }
        /// <summary>
        ///MessageCoding	1	Integer	短消息的编码格式。0:纯ASCII字符串3:写卡操作4:二进制编码8:UCS2编码15: GBK编码其它参见GSM3.38第4节:SMS Data Coding Scheme
        /// </summary>
        [SmsField(false, 17, 1)]
        public MessageCodings MessageCoding
        {
            get { return m_MessageCoding; }
            set { m_MessageCoding = value; }
        }
        /// <summary>
        ///MessageType	1	Integer	信息类型:0-短消息信息其它:待定
        /// </summary>
        [SmsField(false, 18, 1)]
        public byte MessageType
        {
            get { return m_MessageType; }
            set { m_MessageType = value; }
        }
        /// <summary>
        ///MessageLength	4	Integer	短消息的长度
        /// </summary>
        [SmsField(false, 19, 4)]
        public uint MessageLength
        {
            get { return m_MessageLength; }
            set { m_MessageLength = value; }
        }
        /// <summary>
        ///MessageContent	Message Length	Text	短消息的内容
        /// </summary>
        [SmsField(false, 20, -1)]
        public string MessageContent
        {
            get { return m_MessageContent; }
            set { m_MessageContent = value; }
        }
        /// <summary>
        ///Reserve	8	Text	保留,扩展用
        /// </summary>
        [SmsField(false, 21, 8)]
        public string Reserve
        {
            get { return m_Reserve; }
            set { m_Reserve = value; }
        }
        #endregion
        protected override void ReadProperties(System.Net.Sockets.Socket sock, PropertyPackage pack)
        {
            //if (pack.IsProperty("UserNumber"))
            //{
            //    if (m_UserCount < 1)
            //    {
            //        m_UserCount = 1;
            //    }
            //    for (int n = 0; n < m_UserCount; n++)
            //    {
            //        base.ReadProperties(sock, pack);
            //        this.AddUserNumber(m_UserNumber);
            //    }
            //}
            //else 
            if (pack.IsProperty("MessageContent"))
            {
                pack.Attribute.Length = (int)m_MessageLength;
                base.ReadProperties(sock, pack);
            }
            else
            {
                base.ReadProperties(sock, pack);
            }
        }
        protected override bool WriteProperties(System.Net.Sockets.Socket sock,
            PropertyPackage pack)
        {
            //if (m_allUserNumbers.Count < 1)
            //{
            //    m_allUserNumbers.Add(m_UserNumber);
            //}                
            if (pack.IsProperty("UserCount"))
            {
                m_UserCount = (byte)1;// m_allUserNumbers.Count;
                return base.WriteProperties(sock, pack);
            }
            else if (pack.IsProperty("MessageLength"))
            {
                this.MessageLength = (uint)System.Text.Encoding.Default.GetByteCount(this.MessageContent);
                return base.WriteProperties(sock, pack);
            }
            else if (pack.IsProperty("ChargeNumber"))
            {
                if (m_ChargeNumber != null && m_ChargeNumber.StartsWith("0000")==false
                    && m_ChargeNumber.Length>0
                    && m_ChargeNumber.StartsWith("86") == false)
                {
                    m_ChargeNumber = "86" + m_ChargeNumber;
                }
                return base.WriteProperties(sock, pack);
            }           
            else if (pack.IsProperty("UserNumber"))
            {
                //foreach (String str2 in m_allUserNumbers)
                //{
                //    String str = str2;
                //    if (str.StartsWith("86") == false)
                //    {
                //        str = "86" + str;
                //    }
                //    m_UserNumber = str;
                //    if (base.WriteProperties(sock, pack) == false)
                //    {
                //        return false;
                //    }
                //}
                //return true;
                if (m_UserNumber.StartsWith("86") == false)
                {
                    m_UserNumber = "86" + m_UserNumber;
                }
                return base.WriteProperties(sock, pack);
            }
            else
            {
                return base.WriteProperties(sock, pack);

            }
        }
    }

}

⌨️ 快捷键说明

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