Java 超时时重试Android套接字连接
我正在使用套接字连接到服务器。根据我执行的选项,我有可变的超时。在通知客户端连接无法打开之前,我希望能够重试“connect”方法至少3次 我曾尝试在try/catch中包装“connect”方法,并在异常捕获为“SocketTimeoutException”时调用“connect”,但这没有起作用。我知道答案可能包括将整个过程放在for/while循环中,但我似乎不知道怎么做Java 超时时重试Android套接字连接,java,android,sockets,Java,Android,Sockets,我正在使用套接字连接到服务器。根据我执行的选项,我有可变的超时。在通知客户端连接无法打开之前,我希望能够重试“connect”方法至少3次 我曾尝试在try/catch中包装“connect”方法,并在异常捕获为“SocketTimeoutException”时调用“connect”,但这没有起作用。我知道答案可能包括将整个过程放在for/while循环中,但我似乎不知道怎么做 有什么帮助吗?像这样的,也许: private void doSomething(){ 套接字=空; 对于(int i
有什么帮助吗?像这样的,也许:
private void doSomething(){
套接字=空;
对于(int i=0;i<3;i++){
试一试{
socket=connectToServer();
打破
}捕获(IOE异常){
//日志异常,
//向用户显示消息,
//等等。
}
}
if(套接字!=null){
//嗯
}否则{
//无法连接到服务器。
}
}
私有套接字connectToServer()引发IOException{
//始终返回有效的套接字。
//出现问题时引发异常。
}
SocketTimeoutException
在读取超时而不是连接超时时抛出。这是一个ConnectException
。