温馨提示×

Java怎么监听接入的网络连接

小亿
99
2023-11-08 14:59:29
栏目: 编程语言

要监听接入的网络连接,可以使用Java的Socket编程。

以下是一个简单的示例代码,演示了如何使用Java Socket监听接入的网络连接:

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class NetworkListener {

    public static void main(String[] args) {
        try {
            // 创建ServerSocket,指定监听的端口
            ServerSocket serverSocket = new ServerSocket(8080);

            System.out.println("Listening for incoming connections...");

            while (true) {
                // 接收客户端的连接请求
                Socket socket = serverSocket.accept();

                // 创建一个新线程处理每个连接
                Thread thread = new Thread(() -> {
                    try {
                        // 获取输入流,读取客户端发送的数据
                        InputStream inputStream = socket.getInputStream();
                        byte[] buffer = new byte[1024];
                        int bytesRead;
                        StringBuilder stringBuilder = new StringBuilder();
                        while ((bytesRead = inputStream.read(buffer)) != -1) {
                            stringBuilder.append(new String(buffer, 0, bytesRead));
                        }

                        System.out.println("Received data: " + stringBuilder.toString());

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

                thread.start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

此代码创建了一个ServerSocket对象,并指定要监听的端口(这里使用8080)。然后,通过调用accept()方法接收客户端的连接请求。每当有新的连接接入时,会创建一个新的线程来处理该连接。在处理线程中,可以获取输入流,读取客户端发送的数据,然后进行相应的处理。最后,通过调用socket.close()关闭连接。

0