Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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
如何捕获由连接被拒绝引起的java.net.ConnectException?_Java_Network Programming - Fatal编程技术网

如何捕获由连接被拒绝引起的java.net.ConnectException?

如何捕获由连接被拒绝引起的java.net.ConnectException?,java,network-programming,Java,Network Programming,我找不到一种可靠的方法来区分ConnectException的不同原因(即,除了检查消息字符串之外的其他原因)。我特别感兴趣的是检测由EConRefuse引起的ConnectException,作为重试逻辑的终止条件。在javadoc中,似乎无法获得更多信息:您可以发布您的代码(SSCCE)吗是的,除了依赖消息之外似乎没有其他方法,但是为什么不使用meessage值来终止重试条件呢?不幸的是,我已经观察到消息值在不同的VM实现之间发生变化。您根本不应该重试。TCP已经进行了一些重试,这就是为什么

我找不到一种可靠的方法来区分ConnectException的不同原因(即,除了检查消息字符串之外的其他原因)。我特别感兴趣的是检测由EConRefuse引起的ConnectException,作为重试逻辑的终止条件。

在javadoc中,似乎无法获得更多信息:您可以发布您的代码(SSCCE)吗是的,除了依赖消息之外似乎没有其他方法,但是为什么不使用meessage值来终止重试条件呢?不幸的是,我已经观察到消息值在不同的VM实现之间发生变化。您根本不应该重试。TCP已经进行了一些重试,这就是为什么会有一分钟左右的超时。它唯一不这样做的时候是当接收到传入的RST时,即,呃,连接被拒绝。因此,在所有可能的情况下,重试都是不正确的。