Невозможно прочитать символ из объекта networkStream, используя StreamReader в C # - PullRequest
0 голосов
/ 14 декабря 2011

Я хочу прочитать массив символов из объекта networkStream следующим образом:

    public String readLine(NetworkStream networkStream)
    {
        using (StreamReader reader = new StreamReader(networkStream))//This line throws an exception
        {

            char[] buffer = new char[128];
            int offset = 0;
            int ch;

            while(true)
            {
                ch = reader.Read();
                if (ch == -1 || ch == '\n')
                {
                    break;
                }
                else if (ch == '\r')
                {
                    //int tempch = ;
                    if (reader.Peek()== '\n')
                    {
                        break;
                    }
          }
      }

Когда я запускаю программу, я получаю сообщение об ошибке исключения "Поток не читается" . Это потому, что конструктор StreamReader ожидает в качестве параметра объект потока, а не networkStream? Если да, есть ли обходной путь или альтернативный способ чтения символов из объекта networkStream?

1 Ответ

3 голосов
/ 14 декабря 2011

Вы получите это исключение, когда свойство CanRead потока имеет значение false.Мы не можем сказать, как вы создали NetworkStream, но логичным объяснением является то, что вы пытаетесь читать из сетевого потока, который вы открыли для записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...