Socket网络通信之数据传递
Socket通信的步骤:
1.创建ServerSocket和Socket
2.打开连接到Socket的输入/输出流
3.按照协议对Socket进行读/写操作
4.关闭输入输出流、关闭Socket
服务器端:
1.创建ServerSocket对象,绑定监听端口
2.通过accept()方法监听客户端请求
3.连接建立后,通过输入流读取客户端发送的请求信息
4.通过输出流向客户端发送相应的信息
5.关闭相关资源
客户端:
1.创建Socket对象,指明需要连接的服务器的地址和端口号
2.连接建立后,通过输出流想服务器端发送请求信息
3.通过输入流获取服务器响应的信息
4.关闭响应资源
1.Server服务器
import java.io.*; import java.net.*; public class TestServer { public static void main(String args[]) { ServerSocket s = null; try { s = new ServerSocket(8888); //建立服务器ServerSocket } catch (IOException e) { } while (true) { try { Socket s1 = s.accept(); //通过accept()方法监听客户端请求 OutputStream os = s1.getOutputStream(); //输出流 DataOutputStream dos = new DataOutputStream(os); dos.writeUTF("Hello,I am Socket! bye bye!"); //传递信息,一句话 dos.close(); s1.close(); } catch (IOException e) {} } } }
2.Client客户端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.io.*; import java.net.* ; public class TestClient { public static void main(String args[]) { try { Socket s1 = new Socket( "127.0.0.1" , 8888 ); //创建Socket,IP及端口号 InputStream is = s1.getInputStream(); //输入流 DataInputStream dis = new DataInputStream(is); System.out.println(dis.readUTF()); //打印传输的信息 dis.close(); s1.close(); } catch (ConnectException connExc) { System.err.println( "服务器连接失败!" ); } catch (IOException e) { } } } |
首先运行TestServer,再运行TestClient ,就会在控制台打印出:Hello,I am Socket! bye bye!
yian
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)