Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#TCP客户端如何使坏地址/脱机服务器更快地失败_C#_Tcpclient - Fatal编程技术网

C#TCP客户端如何使坏地址/脱机服务器更快地失败

C#TCP客户端如何使坏地址/脱机服务器更快地失败,c#,tcpclient,C#,Tcpclient,我正试图找出当我的客户端软件无法连接到远程服务器时,如何向用户提供更好的反馈。我认为有两种情况需要区分: 无效/脱机服务器 有效的服务器,但端口已关闭 有效的服务器,但另一个程序正在使用该端口 成功连接 我遇到的问题是#1需要一分钟才能超时#2和#3几乎立即失效。有什么方法可以让#1更快地失败吗?您可以实现连接超时 只需确保您将连接超时值设置为您尝试访问的服务器的合理值(如果有时需要5秒到达,请不要将其设置为1秒)。问题是,某些服务器确实需要更长的时间才能到达。强制超时(例如,3秒)可能会触发

我正试图找出当我的客户端软件无法连接到远程服务器时,如何向用户提供更好的反馈。我认为有两种情况需要区分:

  • 无效/脱机服务器
  • 有效的服务器,但端口已关闭
  • 有效的服务器,但另一个程序正在使用该端口
  • 成功连接

  • 我遇到的问题是#1需要一分钟才能超时#2和#3几乎立即失效。有什么方法可以让#1更快地失败吗?

    您可以实现连接超时


    只需确保您将连接超时值设置为您尝试访问的服务器的合理值(如果有时需要5秒到达,请不要将其设置为1秒)。

    问题是,某些服务器确实需要更长的时间才能到达。强制超时(例如,3秒)可能会触发“无效/脱机服务器”消息,但事实并非如此。