溫馨提示×

Ubuntu中Java網絡編程如何實現

小樊
64
2025-03-22 11:33:59
欄目: 編程語言

在Ubuntu系統中進行Java網絡編程,你可以使用Java標準庫中的java.net包。這個包提供了用于開發網絡應用程序的類和接口,包括用于創建套接字的類(如SocketServerSocket)以及用于URL處理的類(如URLURLConnection)。

以下是一個簡單的Java網絡編程示例,包括一個服務器端和一個客戶端。

服務器端

  1. 創建一個名為SimpleServer.java的文件。
  2. 編寫以下代碼:
import java.io.*;
import java.net.*;

public class SimpleServer {
    public static void main(String[] args) {
        int port = 12345; // 選擇一個端口

        try (ServerSocket serverSocket = new ServerSocket(port)) {
            System.out.println("服務器正在監聽端口 " + port);

            while (true) {
                Socket socket = serverSocket.accept(); // 接受客戶端連接
                System.out.println("新客戶端已連接");

                InputStream input = socket.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(input));

                OutputStream output = socket.getOutputStream();
                PrintWriter writer = new PrintWriter(output, true);

                String request = reader.readLine();
                System.out.println("收到客戶端消息: " + request);

                String response = "你好, 客戶端!";
                writer.println(response);

                socket.close();
            }
        } catch (IOException e) {
            System.out.println("服務器異常: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

客戶端

  1. 創建一個名為SimpleClient.java的文件。
  2. 編寫以下代碼:
import java.io.*;
import java.net.*;

public class SimpleClient {
    public static void main(String[] args) {
        String host = "localhost"; // 服務器地址
        int port = 12345; // 服務器端口

        try (Socket socket = new Socket(host, port)) {
            OutputStream output = socket.getOutputStream();
            PrintWriter writer = new PrintWriter(output, true);

            String request = "你好, 服務器!";
            writer.println(request);

            InputStream input = socket.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(input));

            String response = reader.readLine();
            System.out.println("收到服務器消息: " + response);
        } catch (UnknownHostException e) {
            System.out.println("未知主機: " + e.getMessage());
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println("客戶端異常: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

編譯和運行

  1. 在終端中,轉到包含SimpleServer.javaSimpleClient.java的目錄。
  2. 編譯Java文件:
javac SimpleServer.java SimpleClient.java
  1. 首先運行服務器端:
java SimpleServer
  1. 在另一個終端窗口中運行客戶端:
java SimpleClient

你應該會看到服務器和客戶端之間的簡單通信。

這只是一個基本的示例,實際的網絡應用程序可能需要處理更復雜的情況,例如多線程、異常處理、安全性等。你可以根據需要擴展這個示例,以滿足你的需求。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女