ubuntu

Java在Ubuntu上的网络编程

小樊
38
2025-05-11 18:31:51
栏目: 编程语言

在Ubuntu上进行Java网络编程,你需要遵循以下步骤:

  1. 安装Java开发工具包(JDK): 在终端中输入以下命令以安装OpenJDK:

    sudo apt update
    sudo apt install openjdk-11-jdk
    

    确认安装成功,输入:

    java -version
    
  2. 创建一个新的Java项目: 使用文本编辑器(如vim、nano等)创建一个新的Java文件,例如NetworkProgramming.java

  3. 编写Java网络编程代码: 下面是一个简单的Java网络编程示例,包括一个TCP服务器和一个TCP客户端。

    TCP服务器(NetworkProgrammingServer.java):

    import java.io.*;
    import java.net.*;
    
    public class NetworkProgrammingServer {
        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);
    
            while (true) {
                Socket socket = serverSocket.accept();
                System.out.println("New client connected");
    
                InputStream input = socket.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(input));
    
                OutputStream output = socket.getOutputStream();
                PrintWriter writer = new PrintWriter(output, true);
    
                String message;
                while ((message = reader.readLine()) != null) {
                    System.out.println("Client says: " + message);
                    writer.println("Server received: " + message);
                }
    
                socket.close();
            }
        }
    }
    

    TCP客户端(NetworkProgrammingClient.java):

    import java.io.*;
    import java.net.*;
    
    public class NetworkProgrammingClient {
        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");
    
            InputStream input = socket.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(input));
    
            OutputStream output = socket.getOutputStream();
            PrintWriter writer = new PrintWriter(output, true);
    
            BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
            String message;
    
            while ((message = keyboard.readLine()) != null) {
                writer.println(message);
                System.out.println("Server says: " + reader.readLine());
            }
    
            socket.close();
        }
    }
    
  4. 编译Java代码: 在终端中,导航到包含Java文件的目录,然后分别编译服务器和客户端代码:

    javac NetworkProgrammingServer.java
    javac NetworkProgrammingClient.java
    
  5. 运行Java程序: 首先运行服务器程序:

    java NetworkProgrammingServer
    

    然后在另一个终端窗口中运行客户端程序:

    java NetworkProgrammingClient
    

现在你已经成功在Ubuntu上进行了Java网络编程。这个示例使用了TCP协议,但你也可以使用UDP协议进行网络编程。只需将ServerSocketSocket类替换为DatagramSocketDatagramPacket类,并相应地修改代码即可。

0
看了该问题的人还看了