Java TCP 网络编程案例:客户端-服务器消息交互
Java TCP 网络编程案例:客户端-服务器消息交互
本示例演示了使用 Java 进行简单的 TCP 网络编程,实现客户端向服务器发送消息,服务器接收消息并将其转换为大写后返回给客户端。
客户端代码
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) {
try {
// 创建 Socket 对象
Socket clientSocket = new Socket('localhost', 8888);
// 获取输入流和输出流
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
// 发送消息
out.println('hello world');
// 接收并输出返回消息
String response = in.readLine();
System.out.println('Server response: ' + response);
// 关闭连接
in.close();
out.close();
clientSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务器端代码
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) {
try {
// 创建 ServerSocket 对象
ServerSocket serverSocket = new ServerSocket(8888);
while (true) {
// 接收客户端连接
Socket clientSocket = serverSocket.accept();
// 获取输入流和输出流
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
// 接收消息并转换为大写后返回
String request = in.readLine();
String response = request.toUpperCase();
out.println(response);
// 关闭连接
in.close();
out.close();
clientSocket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
代码说明
- 客户端代码使用
Socket类创建与服务器的连接,并通过输入流和输出流进行消息的发送和接收。 - 服务器代码使用
ServerSocket类监听端口,并通过accept()方法接收客户端连接。 - 服务器端接收消息后,将其转换为大写后返回给客户端。
运行步骤
- 编译并运行服务器端代码。
- 编译并运行客户端代码。
- 客户端会向服务器发送消息 'hello world'。
- 服务器接收到消息并转换为大写后返回给客户端。
- 客户端会打印服务器返回的 'HELLO WORLD' 消息。
总结
本示例简单易懂地演示了 Java TCP 网络编程的基本原理,并通过实际代码展现了客户端和服务器之间的消息交互过程。希望本示例能帮助您更好地理解 TCP 网络编程的概念。
原文地址: https://www.cveoy.top/t/topic/orYd 著作权归作者所有。请勿转载和采集!