检查流是否可以读取,以便它不会抛出异常c#

时间:2013-02-07 07:15:19

标签: c# stream

我正在使用TCP客户端

这是我的代码

do
{

   responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

   bytes = stream.Read(data, 0, data.Length);

} while (bytes != 0);

我有时会收到错误

bytes = stream.Read(data, 0, data.Length);

服务器强行关闭现有连接。

如何处理它。

如何检查流是否可以读取。

在服务器端,我正在写入流并关闭它。我应该在服务器上做点什么吗?

1 个答案:

答案 0 :(得分:2)

该代码适用于正常/健康的情况,其中流正常关闭。你描述的内容(“现有连接被服务器强行关闭”)正常/健康的情况,所以它告诉你这个问题是完全合理的,它通过投掷一个例外。如果您正在读取文件,并且文件系统变得不可用(有人猛拉磁盘/笔式驱动器等),则与您的预期相同。

所以:catch异常并妥善处理。

除了关闭流很好之外,您无法在服务器上执行任何特殊操作。