C # - StreamReader.ReadLine nie działa poprawnie!

Po prostu próbowałem wdrożyć coBufferedStreamReader robi w Javie. Otwieram strumień gniazd i chcę go przeczytać w sposób zorientowany liniowo - linia po linii.

Mam następujący kod serwera.

while (continueProcess)
        {
            try
            {
                StreamReader reader = new StreamReader(Socket.GetStream(), Encoding.UTF8);
                string command = reader.ReadLine();
                if (command == null)
                    break;

                OnClientExecute(command);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }

I następujący kod klienta:

TcpClient tcpClient = new TcpClient();
        try
        {
            tcpClient.Connect("localhost", serverPort);
            StreamWriter writer = new StreamWriter(tcpClient.GetStream(), Encoding.UTF8);
            writer.AutoFlush = true;
            writer.WriteLine("login>user,pass");
            writer.WriteLine("print>param1,param2,param3");
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
        finally
        {
            tcpClient.Close();
        }

Serwer odczytuje tylko pierwszą linię (login>user,pass) i wtedyReadLine zwraca wartość null!

Jaki jest najłatwiejszy sposób na osiągnięcie tego czytnika zorientowanego liniowo, jak w języku JavaBufferedStreamReader? : s

questionAnswers(4)

yourAnswerToTheQuestion