[javaSE] 网络编程(概述)
网络通信的步骤,
1.找到对方的ip
2.数据发送到对方指定的应用程序上,为了标识这些应用程序,用数字进行标识,这个数字就是端口
3.定义通信规则,这个规则就称为协议
国际组织定义了通用协议 TCP/IP
网络模型
OSI参考模型
网络分成7层,应用层 ==> 表示层 ==> 会话层 ==> 传输层 (TCP/UDP)==> 网络层
数据链路层 ==> 物理层,数据通过数据封包和数据拆包传递
TCP/IP参考模型
应用层(HTTP,FTP)==> 传输层(TCP/UDP) ==>网际层(IP) ==>主机至网络层
IP地址
java中定义了一个类InetAddress
该类没有构造方法,所以会提供静态方法供调用
调用InetAddress.getLocalHost()方法,获取到InetAddress对象
调用InetAddress对象的getHostAddress(),得到IP地址
调用InetAddress对象的getHostName(),得到主机名
InetAddress i=InetAddress.getLocalHost();
System.out.println(i.getHostAddress());
System.out.println(i.getHostName());
结果:
100.118.202.252
Lenovo-PC
调用InetAddress.getByName()方法,获取到InetAddress对象,参数:主机名(www.baidu.com)
InetAddress ia=InetAddress.getByName("www.baidu.com");
System.out.println(ia.getHostAddress());
System.out.println(ia.getHostName());
结果:
111.13.100.92
www.baidu.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具