java服务器接收到特定客户端发送的消息,并单独回复给该客户端,代码如何写
时间: 2024-02-21 14:59:00 浏览: 70
以下是一个基于 Java 的服务器接收特定客户端消息并回复的示例代码:
```java
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888); // 创建服务器套接字并绑定到指定端口
System.out.println("服务器已启动,等待客户端连接...");
while (true) {
Socket clientSocket = serverSocket.accept(); // 等待客户端连接
System.out.println("客户端已连接:" + clientSocket.getInetAddress().getHostAddress());
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); // 获取客户端输入流
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); // 获取客户端输出流
String inputLine;
while ((inputLine = in.readLine()) != null) { // 循环读取客户端发送的消息
System.out.println("客户端消息:" + inputLine);
if (inputLine.equals("Hello")) { // 如果客户端发送的消息是 "Hello"
out.println("Hi there!"); // 回复客户端 "Hi there!"
break; // 退出循环
}
}
in.close(); // 关闭输入流
out.close(); // 关闭输出流
clientSocket.close(); // 关闭客户端套接字
System.out.println("客户端已断开连接。");
}
}
}
```
在上面的代码中,服务器会等待客户端连接,一旦有客户端连接,就会获取到该客户端的输入流和输出流。然后服务器会循环读取客户端发送的消息,如果客户端发送的消息是 "Hello",服务器就会回复 "Hi there!" 并退出循环。最后,服务器会关闭输入流、输出流和客户端套接字,并继续等待下一个客户端连接。
阅读全文