用JAVA代码写一个服务端
时间: 2024-01-28 10:05:28 浏览: 20
这里展示一个简单的Java服务端代码,用于接收客户端的连接请求并返回响应:
```java
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
// 创建ServerSocket对象,监听指定端口号
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务端已启动,等待客户端连接...");
while (true) {
// 接收客户端连接请求,返回一个Socket对象
Socket socket = serverSocket.accept();
System.out.println("客户端已连接,IP地址为:" + socket.getInetAddress().getHostAddress());
// 获取输入流,读取客户端发送的数据
InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int len = inputStream.read(buffer);
String request = new String(buffer, 0, len);
System.out.println("客户端发送的请求为:" + request);
// 处理客户端请求,并构造响应数据
String response = "Hello, " + request + "!";
// 获取输出流,向客户端发送响应数据
OutputStream outputStream = socket.getOutputStream();
outputStream.write(response.getBytes());
// 关闭资源
outputStream.close();
inputStream.close();
socket.close();
}
}
}
```
该服务端程序采用了阻塞式IO模型,即每个客户端连接请求都会阻塞当前线程,直到客户端发送完请求并得到响应。如果需要支持并发处理多个客户端请求,可以通过多线程或线程池的方式进行优化。