超时重试Android Socket连接



我使用Socket连接到服务器。我有不同的超时取决于我正在执行的选项。我希望能够在通知客户端连接无法打开之前重试"connect"方法至少3次。

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

帮忙吗?

像这样,也许:

private void doSomething() {
    Socket socket = null;
    for (int i = 0; i < 3; i++) {
        try {
            socket = connectToServer();
            break;
        } catch (IOException e) {
            // Log exception,
            // show message to user,
            // etc.
        }
    }
    if (socket != null) {
        // Ok
    } else {
        // Could not connect to server.
    }
}
private Socket connectToServer() throws IOException {
    // Always returns a valid socket.
    // Throws exception in case of problems.
}

相关内容

  • 没有找到相关文章

最新更新