【发布时间】:2012-06-04 09:11:12
【问题描述】:
我想检查我的互联网连接同时使用 WebClient 以下载文件。 (WebClient.DownloadFile())。 我想检查在下载过程中连接是否仍然可用。 我怎么做 ? (在 C# 中) 非常感谢。
【问题讨论】:
-
为什么?如果我没记错的话,如果连接消失,WebClient 无论如何都会抛出异常。
标签: c# networking download webclient
我想检查我的互联网连接同时使用 WebClient 以下载文件。 (WebClient.DownloadFile())。 我想检查在下载过程中连接是否仍然可用。 我怎么做 ? (在 C# 中) 非常感谢。
【问题讨论】:
标签: c# networking download webclient
您通常无法检测到互联网是否可用。但试探性地,您可以启动第二个线程,尝试以每 15 秒左右的 5 秒读取超时来获取 google.com。这样一来,您的连接检查可能会比您的主下载有不同的、更难的超时。
【讨论】:
你不能。除了尝试使用连接之外,TCP 没有其他方法可以检查连接的状态。设置读取超时,并相应响应产生的 SocketTimeoutException;并通过关闭连接并可能重试来响应任何其他 IOException,具体取决于您的具体要求。
【讨论】: