Streamreader导致while循环停止

时间:2014-10-22 08:41:20

标签: loops while-loop tcpclient streamreader steam

我正在尝试使用streamreader来捕获通过TCPClient发送的字符串,但不是经常汇集,而是只通过循环。

private void recMessage()
    {
        while (true)
        {
            String listAsString = "";
            try
            {
                listAsString = streamReader.ReadLine();
            }
            catch (Exception e)
            {
                Interaction.MsgBox("Lost connection with server./n/n" + e);
                break;
            }


            newSprite(listAsString);

            }
        }
     }

似乎暂停了         listAsString = streamReader.ReadLine();

任何想法?

由于

詹姆斯

1 个答案:

答案 0 :(得分:1)

ReadLine阻塞,直到有足够的数据到达或流已结束。让你的代码处理这个事实。您可能应该将阻塞IO移动到后台线程。或者更好的是,使用await