java socket 断线重连代码实现
时间: 2023-07-25 09:03:33 浏览: 108
Socket推送实现代码 SocketClient
以下是 Java Socket 断线重连的代码实现:
```java
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketClient {
private static final String SERVER_ADDRESS = "localhost";
private static final int SERVER_PORT = 8080;
public static void main(String[] args) {
Socket socket = null;
boolean connected = false;
while (!connected) {
try {
socket = new Socket(SERVER_ADDRESS, SERVER_PORT);
connected = true;
// 连接成功
} catch (UnknownHostException e) {
System.out.println("连接失败:未知主机!");
} catch (IOException e) {
System.out.println("连接失败:" + e.getMessage());
}
if (!connected) {
try {
// 等待 5 秒后重试
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// 连接成功后,可以进行后续操作
// ...
// 关闭连接
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们使用了一个 while 循环来实现断线重连的功能。在连接失败时,我们等待了 5 秒后再次尝试连接。如果连接成功,则跳出循环并进行后续操作。在连接成功后,我们可以进行发送和接收数据等操作。最后,我们需要关闭连接以释放资源。
阅读全文