请使用Socket类、ServerSocket类等编写一个套接字程序。 客户端输入几点了服务器端回答15:40客户端输入今天几号服务器端回答今天5号
时间: 2024-02-09 16:12:13 浏览: 184
套接字(socket)编程
以下是一个简单的套接字程序,实现了客户端和服务器端的通信。客户端输入几点了,服务器端回答当前时间;客户端输入今天几号,服务器端回答今天的日期。
服务器端:
```java
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
Scanner scanner = new Scanner(socket.getInputStream());
while (true) {
String request = scanner.nextLine();
if ("几点了".equals(request)) {
String response = new SimpleDateFormat("HH:mm").format(new Date());
socket.getOutputStream().write(response.getBytes());
socket.getOutputStream().flush();
} else if ("今天几号".equals(request)) {
String response = new SimpleDateFormat("dd").format(new Date());
socket.getOutputStream().write(response.getBytes());
socket.getOutputStream().flush();
} else {
String response = "我不知道你在说什么";
socket.getOutputStream().write(response.getBytes());
socket.getOutputStream().flush();
}
}
}
}
```
客户端:
```java
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8888);
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入问题:");
String request = scanner.nextLine();
socket.getOutputStream().write(request.getBytes());
socket.getOutputStream().flush();
byte[] bytes = new byte[1024];
int len = socket.getInputStream().read(bytes);
String response = new String(bytes, 0, len);
System.out.println(response);
}
}
}
```
运行服务器端和客户端后,客户端可以输入“几点了”或“今天几号”,服务器端分别回答当前时间和日期。
阅读全文