PeerCastStation.PCP.RelayRequestReader.Read C# (CSharp) Метод

Read() публичный статический Метод

ストリームからリレーリクエストを読み取り解析します
public static Read ( Stream stream ) : RelayRequest
stream Stream 読み取り元のストリーム
Результат RelayRequest
    public static RelayRequest Read(Stream stream)
    {
      string line = null;
      var requests = new List<string>();
      var buf = new List<byte>();
      while (line!="") {
        var value = stream.ReadByte();
        if (value<0) return null;
        buf.Add((byte)value);
        if (buf.Count >= 2 && buf[buf.Count - 2] == '\r' && buf[buf.Count - 1] == '\n') {
          line = System.Text.Encoding.UTF8.GetString(buf.ToArray(), 0, buf.Count - 2);
          if (line!="") requests.Add(line);
          buf.Clear();
        }
      }
      return new RelayRequest(requests);
    }
  }

Usage Example

Пример #1
0
        /// <summary>
        /// リレーリクエストを解析します
        /// </summary>
        /// <param name="header">リクエスト</param>
        /// <returns>
        /// 解析できた場合はRelayRequest、それ以外はnull
        /// </returns>
        private RelayRequest ParseRequest(byte[] header)
        {
            RelayRequest res    = null;
            var          stream = new MemoryStream(header);

            try {
                res = RelayRequestReader.Read(stream);
            }
            catch (EndOfStreamException) {
            }
            stream.Close();
            return(res);
        }
All Usage Examples Of PeerCastStation.PCP.RelayRequestReader::Read
RelayRequestReader