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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!