网络通信的步骤,

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

最新文章

  1. trunk 的坑
  2. Java NIO教程 Buffer
  3. BZOJ3571 : [Hnoi2014]画框
  4. Java学习笔记之:java环境搭建
  5. Debian/Ubuntu手动编译安装MongoDB C++11驱动及驱动测试
  6. LVM逻辑卷管理@设备、格式、摩、引导自己主动安装一个完整的章节
  7. hdu_5793_A Boring Question(打表找规律)
  8. ant编译java的例子
  9. 使用postfix在debian上配置邮件服务器
  10. thinkphp发送邮件需要开启什么设置
  11. 更改Qt Application为 Qt Console Application
  12. java中数组、list、泛型集合的长度
  13. Java-Maven(二):Maven常用命令
  14. 关于ehcache缓存中eternal及timeToLiveSeconds和timeToIdleSeconds的说明
  15. CentOS7.4 ISCSI
  16. Android抓包方法(转)
  17. AD预测论文研读系列2
  18. 【转】位置式、增量式PID算法C语言实现
  19. shell脚本之流程控制语句
  20. Microsoft Office MIME Types

热门文章

  1. JAVA 从头开始<一>
  2. Navicat 12破解工具 +安装包
  3. jzoj5913
  4. 伸展树的实现——c++
  5. 前端入门html(表单)
  6. MySQL(外键变种)
  7. 一,PHP会话机制---cookie
  8. 【Java学习笔记】如何写一个简单的Web Service
  9. innodb 源码分析 --锁
  10. 为什么程序员老在改 Bug,就不能一次改好吗?