在 Java 中,实现一个多线程服务器程序可以通过使用 ServerSocket 来监听客户端连接,每当有新的客户端连接时,启动一个新的线程来处理该连接。下面是一个示例代码,展示了如何使用 Java Socket 实现一个多线程服务器程序。
服务器端代码
首先,我们创建一个服务器端程序,它会监听指定的端口,并为每个客户端连接启动一个新的线程来处理通信。
MultiThreadedServer.java 文件
客户端代码
客户端代码用于连接服务器并发送消息。可以创建多个客户端来测试服务器的多线程处理能力。
Client.java 文件代码:
运行步骤
1.运行服务器端:
1.编译并运行 MultiThreadedServer 类。
2.服务器将启动并监听指定端口上的客户端连接。
2.运行客户端:
1.编译并运行多个 Client 类实例,模拟多个客户端连接到服务器。
2.在客户端控制台中输入消息,客户端会将消息发送到服务器,服务器将回应相同的消息。
解释
编译代码
打开终端或命令提示符,切换到存上述 Java 文件的目录,然后编译代码:
javac MultiThreadedServer.java Client.java
在编译完成后,首先运行服务器程序,服务器将启动并开始监听端口 12345。
java MultiThreadedServer
你会看到服务器输出:
服务器已启动,等待客户端连接...
打开另一个终端或命令提示符窗口,运行客户端程序。你可以运行多个客户端实例来测试多线程处理。
java Client
你会看到客户端输出:
已连接到服务器
然后,你可以在客户端控制台中输入消息,例如:
Hello Server
服务器会回应:
服务器回应: Hello Server
服务器端的输出会显示:
客户端已连接: 127.0.0.1 收到客户端消息: Hello Server