91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java socket編程如何處理并發連接

小樊
85
2024-10-12 17:39:19
欄目: 編程語言

在Java中,處理Socket編程的并發連接主要依賴于多線程。每當客戶端與服務器建立一個新的連接時,服務器可以為每個連接創建一個新的線程來處理客戶端的請求。這樣,服務器就可以同時處理多個客戶端的并發連接。

以下是一個簡單的Java Socket服務器示例,演示如何處理并發連接:

import java.io.*;
import java.net.*;

public class ConcurrentServer {
    public static void main(String[] args) throws IOException {
        int port = 12345;
        ServerSocket serverSocket = new ServerSocket(port);
        System.out.println("Server started on port " + port);

        while (true) {
            // 接受客戶端連接
            Socket clientSocket = serverSocket.accept();
            System.out.println("New client connected");

            // 為每個客戶端連接創建一個新線程
            Thread clientThread = new Thread(new ClientHandler(clientSocket));
            clientThread.start();
        }
    }
}

class ClientHandler implements Runnable {
    private Socket clientSocket;

    public ClientHandler(Socket socket) {
        this.clientSocket = socket;
    }

    @Override
    public void run() {
        try {
            // 讀取客戶端發送的數據
            BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
            String inputLine;

            while ((inputLine = in.readLine()) != null) {
                System.out.println("Received from client: " + inputLine);

                // 向客戶端發送響應
                PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
                out.println("Server response: " + inputLine);
            }

            // 關閉資源
            in.close();
            out.close();
            clientSocket.close();
        } catch (IOException e) {
            System.out.println("Error handling client connection: " + e.getMessage());
        }
    }
}

在這個示例中,服務器監聽12345端口上的客戶端連接。當客戶端連接到服務器時,服務器會為每個連接創建一個新的ClientHandler線程來處理客戶端的請求。ClientHandler線程負責讀取客戶端發送的數據,并向客戶端發送響應。這樣,服務器就可以同時處理多個客戶端的并發連接。

0
孟村| 滁州市| 方正县| 株洲县| 曲沃县| 德庆县| 荆州市| 四平市| 衡水市| 永川市| 江都市| 庆城县| 余干县| 绥江县| 那坡县| 清河县| 鱼台县| 长子县| 会昌县| 郧西县| 阳新县| 阆中市| 永登县| 门头沟区| 高淳县| 顺昌县| 东平县| 云霄县| 莒南县| 赣榆县| 寿阳县| 罗平县| 古丈县| 固阳县| 华亭县| 桑日县| 梧州市| 应用必备| 达孜县| 琼海市| 左云县|