您的位置:首页 >Java在Debian上如何进行网络编程
发布于2026-04-25 阅读(0)
扫一扫,手机访问

想在Debian系统上玩转Ja va网络编程?其实没那么复杂。跟着下面这几个清晰的步骤走,你很快就能搭建起一个简单的客户端-服务器通信模型。整个过程逻辑分明,咱们一步步来。
万事开头先搭环境。打开你的Debian终端,运行下面这两条命令来安装OpenJDK。第一条命令是更新软件包列表,确保获取到最新的源信息;第二条则是安装JDK 11本身。
sudo apt update
sudo apt install openjdk-11-jdk
安装完成后,总得确认一下是否成功。在终端里输入以下两个命令,分别检查Ja va运行时环境和编译器的版本。如果终端清晰地打印出版本号,恭喜你,第一步就稳了。
ja va -version
ja vac -version
环境就绪,接下来开辟你的“战场”。在你的工作目录下,新建一个项目文件夹,比如就叫MyJa vaNetworkProject。然后进入这个文件夹,创建你的第一个Ja va源文件——Server.ja va。这将是我们的服务器端程序。
核心环节来了。打开Server.ja va,将下面的代码复制进去。这是一个经典的Echo服务器示例:它在12345端口监听,接收客户端发来的消息,并在每条消息前加上“Server: ”前缀后回传给客户端,直到客户端说“bye”为止。
import ja va.io.*;
import ja va.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));
OutputStream output = socket.getOutputStream();
PrintWriter writer = new PrintWriter(output, true);
String text;
do {
text = reader.readLine();
writer.println("Server: " + text);
} while (!text.equals("bye"));
socket.close();
System.out.println("Client disconnected");
}
} catch (IOException ex) {
System.out.println("Server exception: " + ex.getMessage());
ex.printStackTrace();
}
}
}
代码写好了,得先编译才能运行。在终端中,确保已经导航到你的项目文件夹MyJa vaNetworkProject,然后使用ja vac命令编译服务器代码。
cd MyJa vaNetworkProject
ja vac Server.ja va
编译成功后会生成.class文件。这时,使用ja va命令就可以启动服务器了。你会看到终端打印出“Server is listening on port 12345”,这意味着服务器已经在后台默默等待客户端的连接了。
ja va Server
有服务器,自然少不了客户端。在同一个项目文件夹里,再创建一个新的Ja va文件Client.ja va。把下面的客户端代码放进去。它的作用是连接到本机(localhost)的12345端口,允许你输入消息发送给服务器,并显示服务器的回复。
import ja va.io.*;
import ja va.net.*;
public class Client {
public static void main(String[] args) {
String hostname = "localhost";
int port = 12345;
try {
Socket socket = new Socket(hostname, 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 stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
do {
System.out.print("Enter message: ");
userInput = stdIn.readLine();
writer.println(userInput);
String response = reader.readLine();
System.out.println("Server: " + response);
} while (!userInput.equals("bye"));
socket.close();
System.out.println("Disconnected from server");
} catch (UnknownHostException ex) {
System.out.println("Server not found: " + ex.getMessage());
} catch (IOException ex) {
System.out.println("I/O error: " + ex.getMessage());
}
}
}
和服务器端一样,我们需要先编译客户端程序。保持终端路径在项目文件夹下,运行编译命令。
cd MyJa vaNetworkProject
ja vac Client.ja va
激动人心的时刻到了。打开一个新的终端窗口(因为原来的窗口正在运行服务器),同样导航到项目目录,运行客户端程序。这时,你就可以在两个窗口之间进行实时对话了。
ja va Client
至此,一个完整的、运行在Debian系统上的Ja va网络通信示例就搭建完成了。服务器端持续监听,客户端随时连接并交互。输入“bye”即可优雅地结束会话。通过这个基础框架,你已经掌握了Ja va网络编程的核心流程,接下来可以在此基础上探索更复杂的协议和功能了。
上一篇:ThinkPHP和PHP的区别
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9