需求2:客户端发送信息给服务端,服务端接收信息,然后服务端发送信息回给客户端 需求3:循环执行客户端和服务端交流【Scanner】
时间: 2023-11-02 21:04:59 浏览: 87
好的,你的需求是客户端和服务端之间进行信息交流,并且需要循环执行这个过程。我可以为你提供一个简单的实现思路:
1. 在服务端,创建一个ServerSocket对象并指定端口号,等待客户端连接。
2. 在客户端,创建一个Socket对象并指定服务端的IP地址和端口号,连接到服务端。
3. 在客户端,使用Scanner对象从控制台读取用户输入的信息,并使用Socket对象将信息发送到服务端。
4. 在服务端,使用Socket对象接收客户端发送的信息,并将信息打印到控制台。
5. 在服务端,使用Socket对象将信息发送回客户端。
6. 在客户端,使用Socket对象接收服务端发送的信息,并将信息打印到控制台。
7. 通过循环,重复执行步骤3到步骤6。
下面是一个简单的Java代码示例,可以作为你的参考:
服务端代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws Exception {
// 创建ServerSocket对象并指定端口号
ServerSocket serverSocket = new ServerSocket(8888);
// 等待客户端连接
System.out.println("等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
// 创建输入输出流
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
// 循环接收和发送信息
while (true) {
// 接收客户端发送的信息
String message = in.readLine();
System.out.println("客户端:" + message);
// 发送信息回客户端
out.println("服务端已接收到信息:" + message);
out.flush();
}
}
}
```
客户端代码:
```java
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws Exception {
// 创建Socket对象并连接到服务端
Socket socket = new Socket("localhost", 8888);
// 创建输入输出流
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
// 循环发送和接收信息
Scanner scanner = new Scanner(System.in);
while (true) {
// 发送信息到服务端
System.out.print("请输入要发送的信息:");
String message = scanner.nextLine();
out.println(message);
out.flush();
// 接收服务端发送的信息
String response = in.readLine();
System.out.println("服务端:" + response);
}
}
}
```
希望这个实现思路能够对你有所帮助!
阅读全文