溫馨提示×

Java怎么監聽接入的網絡連接

小億
144
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女