首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

检查Java TCP服务器上的客户端断开连接 - 仅输出

在Java TCP服务器上检查客户端断开连接并仅输出的方法如下:

  1. 首先,创建一个Java TCP服务器,并监听指定的端口。
代码语言:java
复制
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPServer {
    public static void main(String[] args) {
        int port = 8080; // 服务器监听的端口号

        try {
            ServerSocket serverSocket = new ServerSocket(port);
            System.out.println("服务器已启动,等待客户端连接...");

            while (true) {
                Socket clientSocket = serverSocket.accept();
                System.out.println("客户端连接成功:" + clientSocket.getInetAddress().getHostAddress());

                // 创建新线程处理客户端请求
                Thread clientThread = new Thread(() -> {
                    try {
                        InputStream inputStream = clientSocket.getInputStream();
                        OutputStream outputStream = clientSocket.getOutputStream();

                        // 处理客户端请求
                        // 在这里添加你的业务逻辑代码

                        // 检查客户端是否断开连接
                        while (true) {
                            try {
                                int data = inputStream.read();
                                if (data == -1) {
                                    System.out.println("客户端断开连接:" + clientSocket.getInetAddress().getHostAddress());
                                    break;
                                }
                            } catch (IOException e) {
                                System.out.println("客户端断开连接:" + clientSocket.getInetAddress().getHostAddress());
                                break;
                            }
                        }

                        // 关闭连接
                        inputStream.close();
                        outputStream.close();
                        clientSocket.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                });

                clientThread.start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. 在上述代码中,通过serverSocket.accept()方法接受客户端连接,并创建一个新的线程来处理每个客户端请求。
  2. 在处理客户端请求的线程中,通过clientSocket.getInputStream()获取客户端的输入流,然后使用inputStream.read()方法读取客户端发送的数据。
  3. 在读取数据的过程中,如果返回值为-1,表示客户端已断开连接,此时可以在控制台输出相应的信息。
  4. 如果在读取数据时捕获到IOException异常,也表示客户端已断开连接,同样可以在控制台输出相应的信息。

请注意,以上代码仅为示例,实际应用中需要根据具体业务需求进行修改和完善。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券