我有一个与服务器交谈的客户端,下面的代码应该在控制台上打印输入的内容 - 跨越多行。Streamreader Readline()抛出异常
问题是,它显示所有行,然后引发异常。
我尝试过不同的方式,以便使其工作,如peek()
这会导致最后一行被切断,并引发相同的异常。
有什么我失踪?
using (sr)
{
try
{
while (!sr.EndOfStream)
{
Console.WriteLine(sr.ReadLine());
}
}
finally
{
sr.Close();
}
}
唯一的例外是信息:System.IO.IOException:无法读取从传输连接数据:A连接尝试失败,因为连接的方没有正确 响应后一段时间,或已建立的连接失败,因为连接的主机无法响应。
我已经使用.ReadTimeout
和.WriteTimeout
只是using (sr)
备注:如果您有使用区块,则不需要尝试/最终/关闭。 – Dai 2015-02-23 23:26:14
请检查这是不是你的问题相关的东西:http://stackoverflow.com/questions/1450263/c-sharp-streamreader-readline-does-not-work-properly – 2015-02-23 23:36:04
其中是你的'sr'的其余部分分配?它应该全部在using语句中(请参阅https://msdn.microsoft.com/en-us/library/yh598w02.aspx中的“使用”最佳实践) – 2015-02-24 00:20:00