public void ClearTest()
 {
     ReceiveStream target = new ReceiveStream(); // TODO: 初始化为适当的值
     target.Write(new byte[] { 1, 2 }, 0, 2);
     target.Clear();
     Assert.IsTrue(target.Length == 0);
 }
 public void ClearTest1()
 {
     ReceiveStream target = new ReceiveStream(); // TODO: 初始化为适当的值
     target.Write(new byte[] { 1, 2 }, 0, 2);
     int count = 1; // TODO: 初始化为适当的值
     target.Clear(count);
     Assert.IsTrue(target.Length == 1 && target[0] == 2);
 }
        /// <summary>
        /// 从收到的数据流中解析请求体
        /// </summary>
        /// <param name="stream"></param>
        /// <returns></returns>
        public static TelnetRequest Parse(ReceiveStream stream)
        {
            stream.Position = 0;
            var index = stream.IndexOf(Crlf); // 以CRLF为结束标识
            if (index < 0)
            {
                return null;
            }
            var input = stream.ReadString(index, Encoding.ASCII);
            stream.Clear(index + Crlf.Length);

            if (string.IsNullOrWhiteSpace(input) == true) // 空内容
            {
                return TelnetRequest.Parse(stream);
            }

            var items = input.Split(new string[] { " " }, 2, StringSplitOptions.RemoveEmptyEntries);
            var cmd = items.First();
            var arg = items.Length > 1 ? items.Last() : null;
            return new TelnetRequest(cmd, arg);
        }