【发布时间】:2013-03-17 13:52:02
【问题描述】:
我有一个客户端服务器 .net 应用程序,它们通过 tcp 进行通信。我的服务器会定期向我的客户端发送原始字节数据包。
它在 99.9% 的情况下都运行良好,但有时,当我的一个客户端崩溃(一年两次,而不是更多)时,我的服务器会挂起。
我对其进行了调试(通过向我的客户端添加一些导致我的应用程序崩溃的测试代码),并注意到问题出在stream.Write(bytes, 0, bytes.Length);。它简单不做任何事情,不响应,不返回,只是挂起。 Stream 是一个 NetworkStream。
我之前检查过stream.CanWrite,但它的响应是真的。
那么,我如何在服务器端检查我的一个客户端崩溃了?在向其他客户端发送数据之前,我应该检查 NetworkStream(或其他)什么?
【问题讨论】:
标签: c# .net networking tcp networkstream