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

溫馨提示×

如何使用Java Socket進行數據傳輸

小樊
82
2024-10-16 18:15:17
欄目: 編程語言

使用Java Socket進行數據傳輸主要包括兩個步驟:創建Socket對象和進行數據讀寫。以下是一個簡單的示例,演示了如何使用Java Socket在客戶端和服務器之間發送和接收字符串數據。

服務器端代碼

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

public class Server {
    public static void main(String[] args) throws IOException {
        // 創建一個Socket對象,監聽指定端口
        ServerSocket serverSocket = new ServerSocket(8888);
        System.out.println("Server is listening on port 8888...");

        // 等待客戶端連接
        Socket socket = serverSocket.accept();
        System.out.println("Client connected.");

        // 獲取客戶端發送的數據
        InputStream inputStream = socket.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        String message = reader.readLine();
        System.out.println("Received message: " + message);

        // 向客戶端發送響應
        OutputStream outputStream = socket.getOutputStream();
        PrintWriter writer = new PrintWriter(outputStream, true);
        writer.println("Hello from server!");

        // 關閉資源
        reader.close();
        writer.close();
        socket.close();
        serverSocket.close();
    }
}

客戶端代碼

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

public class Client {
    public static void main(String[] args) throws IOException {
        // 創建一個Socket對象,連接到指定服務器和端口
        Socket socket = new Socket("localhost", 8888);
        System.out.println("Connected to server.");

        // 向服務器發送數據
        OutputStream outputStream = socket.getOutputStream();
        PrintWriter writer = new PrintWriter(outputStream, true);
        writer.println("Hello from client!");

        // 獲取服務器發送的數據
        InputStream inputStream = socket.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        String message = reader.readLine();
        System.out.println("Received message: " + message);

        // 關閉資源
        reader.close();
        writer.close();
        socket.close();
    }
}

在這個示例中,服務器監聽端口8888,并在接收到客戶端連接后,讀取客戶端發送的數據并打印出來。然后,服務器向客戶端發送一條響應消息。客戶端連接到服務器后,發送一條消息給服務器,并打印出從服務器接收到的響應消息。

請注意,這個示例僅用于演示基本的Socket數據傳輸功能。在實際應用中,你可能需要處理更多的細節,例如異常處理、多線程通信、數據編碼和解碼等。此外,為了確保代碼的健壯性,你可能還需要添加適當的日志記錄和錯誤處理機制。

0
呈贡县| 双牌县| 长沙县| 肃宁县| 化德县| 玛纳斯县| 西安市| 德保县| 武平县| 科技| 安龙县| 英山县| 高陵县| 铜山县| 醴陵市| 德令哈市| 通州市| 灵川县| 蒲城县| 两当县| 方山县| 巴林左旗| 巩义市| 凤台县| 舒城县| 依兰县| 文安县| 碌曲县| 巫山县| 兴业县| 右玉县| 宜君县| 辉县市| 达日县| 孝昌县| 乌鲁木齐县| 神池县| 麟游县| 巨鹿县| 潍坊市| 勐海县|