我有一个客户端,我想尝试连续连接到服务器,直到建立连接(即直到我启动服务器)。
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/