1. 网络编程概述
1. 要想实现网络通信,需要解决的三个问题:
- 问题1:如何准确地定位网络上一台或多台主机
- 问题2:如何定位主机上的特定的应用
- 问题3:找到主机后,如何可靠、高效地进行数据传输
2. 实现网络传输的三个要素:(对应解决三个问题)
> 通信要素1:IP地址。对应着解决定位网络上主机的问题
> 通信要素2:端口号。区分同一台主机上的不同进程。
> 通信要素3:通信协议。规范通信的规则,进而实现可靠、高效地进行数据传输
2. 要素1:InetAddress类的使用
1. 作用:准确地定位网络上一台或多台主机
2. IP地址分类
> IP地址分类方式1 :IPv4 和 IPv6
> IP地址分类方式2:公网地址( 万维网使用)和 私有地址( 局域网使用)
> 192.168.开头的就是私有地址
3. 本地回路地址:127.0.0.1 ---> localhost
4. 域名: www.atguigu.com www.baidu.com www.jd.com
www.mi.com www.vip.com
5. InetAddress的使用
5.1 作用:InetAddress类的一个实例表示一个具体的ip地址。
5.2 实例化方式与常用方法
> 实例化:getByName(String host) / getLocalHost()
> 方法:getHostName() / getHostAddress()
3. 要素2:端口号
> 唯一标识设备中的进程(应用程序)
> 不同的进程,需要使用不同的端口号
> 用两个字节表示的整数,它的取值范围是0~65535
4. 要素3:网络通信协议
1. 网络通信协议的目的:实现双方可靠、高效的数据传输。
2. 网络参考模型
> OSI参考模型(7层,过于理想化)
> TCP/IP参考模型
> 应用层:HTTP、FTP
> 传输层:TCP、UDP
> 网络层:IP
> 物理+数据链路层
5. TCP网络编程、UDP网络编程
- TCP、UDP的对比
- 熟悉:TCP的三次握手、四次挥手。
- 例题
-
例题1:客户端发送内容给服务端,服务端将内容打印到控制台上。
-
例题2:客户端发送文件给服务端,服务端将文件保存在本地。
-
例题3:从客户端发送文件给服务端,服务端保存到本地。并返回“发送成功”给客户端。并关闭相应的连接。
-
6. URL网络编程
URL(Uniform Resource Locator):
1. 作用:
统一资源定位符,它表示 Internet 上某一资源的地址。
2. URL的格式:
http://127.0.0.1:8080/examples/ym.png
应用层协议 ip地址 端口号 资源地址
3. URL类的实例化及常用方法
4. 下载指定的URL的资源到本地(了解)