需求2:客户端发送信息给服务端,服务端接收信息,然后服务端发送信息回给客户端 需求3:循环执行客户端和服务端交流【Scanner】
时间: 2023-11-02 21:04:59 浏览: 46
针对需求2,你可以使用Socket编程实现客户端和服务端的通信。客户端使用Socket类创建一个Socket对象,连接服务端的IP地址和端口号。然后使用Socket对象的输出流向服务端发送数据,服务端使用输入流接收客户端发送的数据并进行处理,处理完成后再通过Socket对象的输出流向客户端发送处理结果。客户端使用输入流接收服务端发送的数据,完成通信。
下面是一个简单的Java代码示例:
```java
//客户端代码
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws Exception {
//连接服务端
Socket socket = new Socket("127.0.0.1", 8888);
System.out.println("已连接到服务端");
//获取输出流
OutputStream outputStream = socket.getOutputStream();
PrintWriter printWriter = new PrintWriter(outputStream);
//向服务端发送消息
printWriter.write("客户端发送的消息");
printWriter.flush();
//获取输入流
InputStream inputStream = socket.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
//接收服务端的消息
String message = bufferedReader.readLine();
System.out.println("服务端返回的消息:" + message);
//关闭资源
bufferedReader.close();
inputStream.close();
printWriter.close();
outputStream.close();
socket.close();
}
}
//服务端代码
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws Exception {
//创建ServerSocket对象,监听8888端口
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务端已启动,等待客户端连接...");
//等待客户端连接
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
//获取输入流
InputStream inputStream = socket.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
//接收客户端的消息
String message = bufferedReader.readLine();
System.out.println("客户端发送的消息:" + message);
//获取输出流
OutputStream outputStream = socket.getOutputStream();
PrintWriter printWriter = new PrintWriter(outputStream);
//向客户端发送消息
printWriter.write("服务端返回的消息");
printWriter.flush();
//关闭资源
printWriter.close();
outputStream.close();
bufferedReader.close();
inputStream.close();
socket.close();
serverSocket.close();
}
}
```
针对需求3,你可以使用Scanner类实现循环输入和输出。客户端和服务端都可以使用Scanner类获取用户输入的消息,并将消息发送给对方,然后再接收对方发送的消息。具体实现方式和上述代码类似,这里不再赘述。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)