如何确定网络流是否超时?

时间:2018-02-20 09:14:36

标签: c# sockets tcpclient

我有一个TCP客户端,我按如下方式设置网络流超时。

stream.ReadTimeout = 60000;   

有效。但我想知道如何测试流是否超时。该课程没有提供这种方法。

问题的更多细节。 我将数据发送到TCPListener,每30分钟大约33KB。通常,传输持续大约10秒,客户发出手册" DISCONNECT"命令使监听器重新启动。客户端是使用3G模块的嵌入式系统,有时网络连接会导致链路中断。现在,我只是将读取超时设置为60秒。如果我们在那段时间内没有获得数据,我们只需重启监听器并等待下一次连接。 我正在记录系统的性能,并想知道通常会在一周内发生多少次超时。听众只是检查读取操作是否超时,但是我没有看到在C#中轻松完成它的方法。 将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:1)

我真的不了解有关日志记录的问题。我会查找Read操作的返回值,因为如果为0,则确实发生了超时。在我重新初始化监听器之前,我会提供一个记录超时事实的记录逻辑。如果我误解了你的程序的概念,请告诉我。