1.网络相关概念1.1网络通信661
1.概念:两台设备之间的数据传输通过网络实现
2.网络通信:通过网络将数据从一个设备传输到另一个设备
3.java.net包为程序员提供了一系列类别或接口,以完成网络通信
1.2网络6621.概念:两个或两个以上的设备通过一定的物理设备连接形成网络
2.根据网络的覆盖范围对网络进行分类:
局域网:覆盖范围最小,只覆盖一个教室或一个机房
城市网:覆盖范围大,可覆盖一个城市
万维网是广域网的代表:覆盖范围最大,可覆盖全国乃至全球。
2.ip地址6621.概念:用于识别网络中每台计算机/主机的唯一标识
2.查看ip地址:正在运行(cmd)输入ipconfigig
3.ip地址的表示形式:点分十进制x.xx.xx.xx
4.每十进制数范围:0~255
5.IP地址组成=网络地址+主机地址,如:192.168.16.69
6.IIPv6是互联网工程任务组为取代IPv4而设计的下一代IP协议,其地址号称可以为世界上每一粒沙子编写一个地址。
7.IPV4最大的问题是网络地址资源有限,严重制约了互联网的应用和发展。IPV6的使用不仅可以解决网络地址资源数量的问题,还可以解决各种接入设备连接到互联网的障碍
2.1ipv4地址分类662 3.域名6631.www.baidu.com
2.好处:为了方便记忆,解决记忆ip的困难
3.概念:将ip地址映射成域名,如何在这里映射,HTTP协议
4.端口号:6631.概念:用于识别计算机上特定的网络程序
2.表示形式:端口范围0~65535[2字节表示0~2^16-1]
3.0~1024已被占用,如ssh22、ftp21、smtp25http80
4.常见的网络程序端口号:span>
tomcat:8080
mysql:3306
oracle:1521
sqlserver:1433
5.网络通信协议6645.1协议(tcp/ip)664TCP/IP(TransmissionControlProtocol/InternetProtocol)中文译名为传输控制协议/因特网互联网协议,又称网络通信协议,是Internet最基本的协议,是Internet国际互联网的基础,简单地说,它由网络层的IP协议和传输层的TCP协议组成。[示意图]
6.传输控制协议TCP与UDP656.1TCP协议1.使用TCP协议前,必须建立TCP连接,形成传输数据通道
2.传输前,采用“三次握手”的方式,是可靠的
3.TCP协议通信的两个应用程序:客户端和服务端
4.在连接中大数据量的传输可以进行
5.传输完成后,需要释放已建立的连接,效率低
6.2UDP协议:用户数据协议1.将数据、源和目的包装成数据包,无需建立连接
2.每份数据报告的大小限制在64K以内,大量数据不适合传输
3.因为不需要连接,所以是不可靠的
4.数据发送结束时不需要释放资源(因为它不是面向连接的),速度快
7.InetAdress类66667.1相关方法1.获得本机InetAdress对象getlocalhosttttttet
2.根据指定的主机名/域名获得ip地址对象getByname
3.获取Inetaddress对象的主机名gethostname
4.获取Inetadress对象的地址gethostadress
7.2应用案例666编写代码,获取与计算机主机名和IP地址相关的API
com中的代码.stulzl.inetaddress_.API_
package com.stulzl.inetaddress_;import java.net.InetAddress;import java.net.UnknownHostException;//InetAddress 类 使用相关方法 666//编写代码,获取计算机的主机名和 IP 地址相关 APIpublic class API_ { public static void main(String[] args) throws UnknownHostException { /1.获得本机Inetadress对象getlocalhost ///获取电脑的主机名和ip地址 InetAddress localHost = InetAddress.getLocalHost(); System.out.println(localHost);//LAPTOP-EFUDTF4Q/169.254.215.208 //2. 根据指定的主机名称 获取 InetAdress对象 InetAddress host1 = InetAddress.getByName("LAPTOP-EFUDTF4Q"); System.out.println(host1=+host1);///host1=LAPTOP-EFUDTF4Q/169.254.215.208 //3. 根据域名返回 InetAdress对象 //比如获取www.baidu.com对应的InetAdress对象 InetAddress host2 = InetAddress.getByName("www.baidu.com"); System.out.println(host2=+host2);///host2=www.baidu.com/110.242.68.4 //4. 通过 InetAddress 对象,获取相应的地址 ip //其实就是得到ip ///这里得到的ip地址不稳定,因为百度有自己的改变方法设置110.242.68.3 String hostAddress = host2.getHostAddress(); System.out.println(host2对应的ip=”+hostAddress);//110.242.68.3 //5. 通过 InetAddress 对象,获取相应的主机名/或域名 String hostName = host2.getHostName(); System.out.println(host2对应的主机名/域名=” + hostName); // www.baidu.com }}