在Ubuntu下进行Java网络编程需先安装OpenJDK11,创建项目目录与源代码文件,编写基于TCP的客户端-服务器通信示例,编译后分别启动服务器和客户端验证通信。该流程为后续扩展如多线程或UDP编程奠定基础。
Ubuntu下Java网络编程指南
作者:技术拾光
时间:2026-07-06
浏览:86
文章目录
在Ubuntu下搞Java网络编程,其实没那么玄乎,核心就是那几件事:装好环境、写好代码、编译运行。下面顺着流程走一遍,把每一步说清楚。
先把JDK装好
打开终端,敲两行命令就行:
sudo apt update
sudo apt install openjdk-11-jdk
装完别忘了验证一下:
java -version
看到版本信息出来,环境就到位了。
动手搭个项目骨架
在你自己的工作目录下新建一个文件夹,比如叫 java-net-demo,然后在这个文件夹里再建个 src 子目录,用来放源代码。结构很简单,后面编译和运行都依赖这个路径。
写个TCP通信的例子
这里给一个最经典的客户端-服务器模型,帮你快速跑通流程。
服务器端(Server.java):监听端口,收到客户端消息就打印出来。
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
int port = 12345;
try (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));
String message = reader.readLine();
System.out.println("Received message: " + message);
socket.close();
}
} catch (IOException e) {
System.out.println("Server exception: " + e.getMessage());
e.printStackTrace();
}
}
}
客户端(Client.java):连接服务器,发送一句“Hello, Server!”。
import java.io.*;
import java.net.*;
public class Client {
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 message = "Hello, Server!";
writer.println(message);
System.out.println("Sent message: " + message);
} catch (UnknownHostException e) {
System.out.println("Client exception: " + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
System.out.println("Client exception: " + e.getMessage());
e.printStackTrace();
}
}
}

编译所有代码
回到项目根目录(也就是 java-net-demo 那一层),执行:
javac -d out src/*.java
编译成功后,out 文件夹里就会出现两个 .class 文件。
跑起来看看效果
先在一个终端里启动服务器:
java -cp out Server
然后在另一个终端里启动客户端:
java -cp out Client
如果一切正常,服务器终端会打印出收到的消息 Hello, Server!。这就是一次完整的TCP通信。
之后你想扩展功能,比如加个多线程处理多个客户端、或者改用UDP协议,都是在这个框架上修修改改的事。基础搭好,后面怎么玩都行。
实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。