コード例 #1
0
        /// <summary>
        /// Reads and logs specified line from connected host.
        /// </summary>
        /// <returns>Returns readed line.</returns>
        protected string ReadLine()
        {
            SmartStream.ReadLineAsyncOP args = new SmartStream.ReadLineAsyncOP(new byte[Workaround.Definitions.MaxStreamLineLength],
                                                                               SizeExceededAction.
                                                                               JunkAndThrowException);
            TcpStream.ReadLine(args, false);
            if (args.Error != null)
            {
                throw args.Error;
            }
            string line = args.LineUtf8;

            if (args.BytesInBuffer > 0)
            {
                LogAddRead(args.BytesInBuffer, line);
            }
            else
            {
                LogAddText("Remote host closed connection.");
            }

            return(line);
        }