中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
枞阳县| 依安县| 新蔡县| 鄢陵县| 屏山县| 年辖:市辖区| 巫山县| 祁东县| 黔东| 曲靖市| 上饶县| 蕉岭县| 祥云县| 哈密市| 科技| 常宁市| 崇义县| 汨罗市| 水城县| 六盘水市| 云阳县| 凤凰县| 靖安县| 福建省| 长岭县| 砀山县| 和顺县| 长顺县| 光泽县| 都安| 华阴市| 江川县| 邹平县| 静海县| 玉山县| 赤城县| 衡阳市| 巍山| 岱山县| 德保县| 克拉玛依市|