Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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 超时时重试Android套接字连接_Java_Android_Sockets - Fatal编程技术网

Java 超时时重试Android套接字连接

Java 超时时重试Android套接字连接,java,android,sockets,Java,Android,Sockets,我正在使用套接字连接到服务器。根据我执行的选项,我有可变的超时。在通知客户端连接无法打开之前,我希望能够重试“connect”方法至少3次 我曾尝试在try/catch中包装“connect”方法,并在异常捕获为“SocketTimeoutException”时调用“connect”,但这没有起作用。我知道答案可能包括将整个过程放在for/while循环中,但我似乎不知道怎么做 有什么帮助吗?像这样的,也许: private void doSomething(){ 套接字=空; 对于(int i

我正在使用套接字连接到服务器。根据我执行的选项,我有可变的超时。在通知客户端连接无法打开之前,我希望能够重试“connect”方法至少3次

我曾尝试在try/catch中包装“connect”方法,并在异常捕获为“SocketTimeoutException”时调用“connect”,但这没有起作用。我知道答案可能包括将整个过程放在for/while循环中,但我似乎不知道怎么做


有什么帮助吗?

像这样的,也许:

private void doSomething(){
套接字=空;
对于(int i=0;i<3;i++){
试一试{
socket=connectToServer();
打破
}捕获(IOE异常){
//日志异常,
//向用户显示消息,
//等等。
}
}
if(套接字!=null){
//嗯
}否则{
//无法连接到服务器。
}
}
私有套接字connectToServer()引发IOException{
//始终返回有效的套接字。
//出现问题时引发异常。
}

SocketTimeoutException
在读取超时而不是连接超时时抛出。这是一个
ConnectException