我正在使用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);已存在的连接被服务器强制关闭。
如何处理它。
如何检查流是否可以继续读取。
在服务器端,我写入流并关闭它。我应该在服务器上做点什么吗??
发布于 2013-02-07 15:36:35
对于正常/健康的场景,该代码将很好地工作,在该场景中,流正常关闭。您所描述的(“现有连接被服务器强制关闭”)不是正常/健康的场景,所以它通过抛出异常来告诉您这个问题是完全合理的。如果您正在从文件中读取数据,并且文件系统变得不可用(有人猛地拉出磁盘/笔驱动器等),情况可能与您所期望的一样。
所以:catch异常并适当地处理它。
除了很好地关闭流之外,你在服务器上没有什么特别的事情可以做。
https://stackoverflow.com/questions/14745649
复制相似问题