JavaSE-21.3.2【TCP通信程序练习1】

 1 package day12.lesson3.p1;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.io.OutputStream;
 6 import java.net.Socket;
 7 
 8 /*
 9 3.3 TCP通信程序练习1
10     案例需求
11         客户端:发送数据,接受服务器反馈
12         服务器:收到消息后给出反馈
13     案例分析
14         客户端创建对象,使用输出流输出数据
15         服务端创建对象,使用输入流接受数据
16         服务端使用输出流给出反馈数据
17         客户端使用输入流接受反馈数据
18  */
19 public class ClientDemo {
20     public static void main(String[] args) throws IOException {
21         Socket socket = new Socket("MSI-YUBABY", 10000);
22 
23         OutputStream os = socket.getOutputStream();
24         os.write("hello, tcp".getBytes());
25 
26         InputStream is = socket.getInputStream();
27         byte[] bytes = new byte[1024];
28         int len = is.read(bytes); //接收服务器端的反馈信息
29         String data = new String(bytes, 0, len);
30         System.out.println("客户端:" + data);
31 
32         /*is.close();
33         os.close();
34         socket.close();*/
35         //这样写没有问题,但没有必要写is和os,因为is和os都是根据socket对象得到的,socket释放则依附于socket的其他也都释放了
36         socket.close();
37     }
38 }
 1 package day12.lesson3.p1;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.io.OutputStream;
 6 import java.net.ServerSocket;
 7 import java.net.Socket;
 8 
 9 public class ServerDemo {
10     public static void main(String[] args) throws IOException {
11         ServerSocket ss = new ServerSocket(10000);
12 
13         Socket socket = ss.accept();
14 
15         InputStream is = socket.getInputStream();
16         byte[] bytes = new byte[1024];
17         int len = is.read(bytes); //接收客户端发来的数据
18         String data = new String(bytes, 0, len);
19         System.out.println("服务器端:" + data);
20 
21         OutputStream os = socket.getOutputStream();
22         os.write("数据已收到".getBytes()); //给出反馈信息
23 
24         ss.close();
25     }
26 }

 

posted @ 2021-06-11 09:55  yub4by  阅读(38)  评论(0编辑  收藏  举报