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

溫馨提示×

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
双鸭山市| 六枝特区| 罗平县| 泗阳县| 顺平县| 文山县| 南召县| 林口县| 水富县| 苍南县| 电白县| 山东| 岳西县| 潜江市| 象州县| 五寨县| 闽清县| 石狮市| 海阳市| 商水县| 遂平县| 西乡县| 鸡东县| 井陉县| 容城县| 南投市| 襄垣县| 定州市| 得荣县| 怀远县| 蓝田县| 吉水县| 肃南| 固始县| 庄河市| 福海县| 宁阳县| 民和| 炎陵县| 三原县| 武义县|