在Ubuntu系统中进行Java网络编程,你可以使用Java标准库中的java.net
包。这个包提供了用于开发网络应用程序的类和接口,包括用于创建套接字的类(如Socket
和ServerSocket
)以及用于URL处理的类(如URL
和URLConnection
)。
以下是一个简单的Java网络编程示例,包括一个服务器端和一个客户端。
SimpleServer.java
的文件。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(); } } }
SimpleClient.java
的文件。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(); } } }
SimpleServer.java
和SimpleClient.java
的目录。javac SimpleServer.java SimpleClient.java
java SimpleServer
java SimpleClient
你应该会看到服务器和客户端之间的简单通信。
这只是一个基本的示例,实际的网络应用程序可能需要处理更复杂的情况,例如多线程、异常处理、安全性等。你可以根据需要扩展这个示例,以满足你的需求。