题目
- 客户端:多次发送数据
- 服务端:多次接收客户端传过来的数据,并且打印出来
代码实战
1、客户端代码
package com.hidata.hiops.paas.demo; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner; /** * @Description : 客户端 * @Date: 2023-09-27 10:08 */ public class Client { public static void main(String[] args) throws IOException { //创建Socket客户端对象并连接服务端 Socket socket = new Socket("127.0.0.1",10001); //获取输出流 OutputStream outputStream = socket.getOutputStream(); Scanner scanner = new Scanner(System.in); while (true){ System.out.println("请输入需要发送信息:"); String str = scanner.next(); if (str.equalsIgnoreCase("bye")){ break; } outputStream.write(str.getBytes()); } //释放资源 socket.close(); } }
2、服务端代码
package com.hidata.hiops.paas.demo; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * @Description :服务端 * @Date: 2023-09-27 10:16 */ public class Server { public static void main(String[] args) throws IOException { //创建服务端对象并绑定端口10001 ServerSocket serverSocket = new ServerSocket(10001); //等待客户端来连接 Socket clientSocket = serverSocket.accept(); //读取数据 InputStreamReader isr = new InputStreamReader(clientSocket.getInputStream()); int b; while ((b = isr.read()) != -1){ System.out.print((char)b); } //释放资源 clientSocket.close(); serverSocket.close(); } }
3、运行结果
客户端运行结果
请输入需要发送信息: 你好,小米 请输入需要发送信息: 上市 请输入需要发送信息: bye Process finished with exit code 0
服务端运行结果
你 好 , 小 米 上 市 Process finished with exit code 0