sipccontentlengthheader.cs

来自「破解的飞信源代码」· CS 代码 · 共 79 行

CS
79
字号
namespace Imps.Base.Sipc
{
    using System;
    using System.Diagnostics;

    public class SipcContentLengthHeader : SipcHeader
    {
        private int _length;
        private int _partial;

        public SipcContentLengthHeader() : base("L")
        {
            this._partial = -1;
        }

        public SipcContentLengthHeader(int length) : base("L", length.ToString())
        {
            this._partial = -1;
        }

        public SipcContentLengthHeader(string length) : base("L", length)
        {
            this._partial = -1;
        }

        public override void Parse(string value)
        {
            base.Value = value;
            try
            {
                int length = value.IndexOf(';');
                if (length > 0)
                {
                    this._length = int.Parse(value.Substring(0, length).Trim());
                    length = value.IndexOf('=', length);
                    if ((length > 0) && (value[length - 1] == 'p'))
                    {
                        this._partial = int.Parse(value.Substring(++length));
                    }
                }
                else
                {
                    this._length = int.Parse(value);
                }
            }
            catch (Exception exception)
            {
                Trace.WriteLine(exception.ToString());
            }
        }

        public override string ToString()
        {
            if (this._partial >= 0)
            {
                return string.Format("{0}: {1}; p={2}", "L", this._length, this._partial);
            }
            return string.Format("{0}: {1} ", "L", this._length);
        }

        public int Length
        {
            get
            {
                return this._length;
            }
        }

        public int PartialPosistion
        {
            get
            {
                return this._partial;
            }
        }
    }
}

⌨️ 快捷键说明

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