编写一个java的服务器端程序,要求使用多线程实现处理多个客户端的链接请求
时间: 2024-04-29 15:23:47 浏览: 103
以下是一个简单的Java服务器端程序,使用多线程来处理多个客户端的连接请求:
```java
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private static final int PORT = 8080;
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(PORT);
System.out.println("Server started on port " + PORT);
while (true) {
Socket clientSocket = serverSocket.accept();
System.out.println("New client connected: " + clientSocket.getInetAddress().getHostAddress());
Thread thread = new Thread(new ClientHandler(clientSocket));
thread.start();
}
}
}
class ClientHandler implements Runnable {
private Socket clientSocket;
public ClientHandler(Socket clientSocket) {
this.clientSocket = clientSocket;
}
@Override
public void run() {
try {
// handle client request
// ...
clientSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该程序使用ServerSocket类监听指定端口(8080),并在接收到新的客户端连接请求时,创建一个新的线程来处理该客户端的请求。每个线程都有一个ClientHandler对象,它负责处理客户端的请求并返回响应。在ClientHandler的run()方法中,可以添加具体的业务逻辑来处理客户端请求。当客户端请求处理完毕后,关闭客户端套接字。
阅读全文