java - 通过 Socket 持续连接到服务器,直到建立连接

标签 java sockets

我有一个客户端,我想尝试连续连接到服务器,直到建立连接(即直到我启动服务器)。

clientSocket = new Socket();
while (!clientSocket.isConnected()) {
    try {
        clientSocket.connect(new InetSocketAddress(serverAddress, serverPort));
    } catch (IOException e) {
        e.printStackTrace();
    }

    // sleep prevents a billion SocketExceptions from being printed,
    // and hopefully stops the server from thinking it's getting DOS'd
    try {
        Thread.sleep(1500);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

第一次尝试后,我得到一个ConnectionException;预期的,因为没有任何可连接的内容。然而,在那之后,我开始收到 SocketException: Socket closeed 这对我来说没有意义,因为 clientSocket.isClosed() 之前和之后总是返回 false >connect() 调用。

我应该如何更改代码以获得我需要的功能?

最佳答案

即使连接尝试失败,您也无法重新连接Socket。您必须关闭它并创建一个新的。

关于java - 通过 Socket 持续连接到服务器,直到建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013401/

相关文章:

python - 使用新属性扩展 socket.socket

java - Java和Dart之间如何通过Socket进行通信

java - 无法弄清楚我在处理扫描仪、文件输入、nextLine() 等的任务中的错误

java - 损坏的 Java Mac 10.6

java - 从play框架2中的id生成外部id

java - SSL socket php代码需要转换为Java

java - android套接字连接更新图形

Netbeans 上的 JavaFX

java - JSP 当前 URL

c# - 套接字编程 - 连接尝试失败异常