亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Java里socket數據如何傳輸

小樊
82
2024-09-30 01:15:20
欄目: 編程語言

在Java中,Socket數據傳輸主要涉及到兩個類:java.net.Socket(用于客戶端)和java.net.ServerSocket(用于服務器端)。以下是一個簡單的示例,展示了如何使用這兩個類進行數據傳輸。

服務器端

  1. 創建一個ServerSocket對象,指定要監聽的端口號。
  2. 調用ServerSocket對象的accept()方法,等待客戶端連接。
  3. 當客戶端連接時,accept()方法返回一個新的Socket對象,用于與客戶端進行通信。
  4. 使用Socket對象的輸入流(getInputStream())和輸出流(getOutputStream())進行數據讀寫。
  5. 關閉Socket對象。

客戶端

  1. 創建一個Socket對象,指定服務器的IP地址和端口號。
  2. 使用Socket對象的輸入流(getInputStream())和輸出流(getOutputStream())進行數據讀寫。
  3. 關閉Socket對象。

以下是一個簡單的Java Socket數據傳輸示例:

服務器端代碼

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

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

        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");

        socket.close();
        serverSocket.close();
    }
}

客戶端代碼

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

public class Client {
    public static void main(String[] args) throws IOException {
        String serverAddress = "localhost";
        int port = 12345;

        Socket socket = new Socket(serverAddress, port);
        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);

        socket.close();
    }
}

在這個示例中,服務器監聽端口12345,并在接收到客戶端連接后,與客戶端進行數據交換。客戶端連接到服務器并發送一條消息,然后服務器回復一條消息。最后,雙方都關閉了Socket連接。

0
神农架林区| 綦江县| 清河县| 镇原县| 濉溪县| 绥江县| 周宁县| 深圳市| 福安市| 林口县| 神池县| 美姑县| 临颍县| 若羌县| 理塘县| 麦盖提县| 长沙县| 商洛市| 都安| 柳江县| 盱眙县| 榆中县| 区。| 修武县| 始兴县| 德钦县| 乐陵市| 龙州县| 陕西省| 育儿| 永康市| 高要市| 宜兰市| 满洲里市| 微山县| 乌审旗| 陈巴尔虎旗| 宁蒗| 上蔡县| 称多县| 定南县|