Java网络编程:TCP连接断开处理实例
在Java网络编程中,当TCP连接断开时,我们通常需要进行一些错误处理和重连策略。以下是一个简单的例子:
import java.io.*;
import java.net.*;
public class TCPConnectionHandler {
private Socket socket;
private Thread thread;
public void connect(String host, int port) {
try {
socket = new Socket(host, port);
// 创建一个新的线程来处理客户端输入和输出
thread = new Thread(new ClientInputHandler(socket)));
thread.start();
System.out.println("Connected to " + host + ":" + port);
} catch (IOException e) {
System.out.println("Error connecting to " + host + ":" + port);
e.printStackTrace();
}
}
// ...其他必要的方法和类
private class ClientInputHandler implements Runnable {
private Socket socket;
public ClientInputHandler(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
try (DataInputStream in = new DataInputStream(socket.getInputStream()));) {
String message;
while ((message = in.readLine()) != null)) {
System.out.println("Received message: " + message);
// ...处理接收到的消息
}
} catch (IOException e) {
System.out.println("Error reading from socket.");
e.printStackTrace();
}
}
}
}
这个例子中,我们创建了一个TCP连接处理器,当用户尝试连接到指定主机和端口时,它会建立连接并启动一个新的线程来处理客户端的输入和输出。
如果连接断开或者读取数据出现错误,程序会捕获异常并进行适当的处理。
还没有评论,来说两句吧...