Java网络编程:TCP连接断开处理实例

原创 素颜马尾好姑娘i 2024-10-21 07:12 186阅读 0赞

在Java网络编程中,当TCP连接断开时,我们通常需要进行一些错误处理和重连策略。以下是一个简单的例子:

  1. import java.io.*;
  2. import java.net.*;
  3. public class TCPConnectionHandler {
  4. private Socket socket;
  5. private Thread thread;
  6. public void connect(String host, int port) {
  7. try {
  8. socket = new Socket(host, port);
  9. // 创建一个新的线程来处理客户端输入和输出
  10. thread = new Thread(new ClientInputHandler(socket)));
  11. thread.start();
  12. System.out.println("Connected to " + host + ":" + port);
  13. } catch (IOException e) {
  14. System.out.println("Error connecting to " + host + ":" + port);
  15. e.printStackTrace();
  16. }
  17. }
  18. // ...其他必要的方法和类
  19. private class ClientInputHandler implements Runnable {
  20. private Socket socket;
  21. public ClientInputHandler(Socket socket) {
  22. this.socket = socket;
  23. }
  24. @Override
  25. public void run() {
  26. try (DataInputStream in = new DataInputStream(socket.getInputStream()));) {
  27. String message;
  28. while ((message = in.readLine()) != null)) {
  29. System.out.println("Received message: " + message);
  30. // ...处理接收到的消息
  31. }
  32. } catch (IOException e) {
  33. System.out.println("Error reading from socket.");
  34. e.printStackTrace();
  35. }
  36. }
  37. }
  38. }

这个例子中,我们创建了一个TCP连接处理器,当用户尝试连接到指定主机和端口时,它会建立连接并启动一个新的线程来处理客户端的输入和输出。

如果连接断开或者读取数据出现错误,程序会捕获异常并进行适当的处理。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,186人围观)

还没有评论,来说两句吧...

相关阅读