复习
一、实现网络通信需要解决的两个问题
1.如何准确地定位网络上一台或多台主机:定位主机上的特定的应用。
2.找到主机后如何可靠高效地进行数据传输。
二、网络通信的两个要素:
1.对应问题一:IP和端口号
2.对应问题二:提供通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)
三、通信要素一:IP和端口号
1.IP的理解
1.IP:唯一地标识Internet上地计算机(通信实体)
2.在Java中使用InetAddress类代表IP
3.IP分类:IPv4 和 IPv6;万维网和局域网。
4.域名:www.baidu.com
域名解析:域名容易记忆,当在连接网络时输入一个主机的域名后,域名服务器(DNS)负责将域名转换为IP地址,这样才能和主机建立连接。-------域名解析。
5.本地回路地址:127.0.0.1 对应着:localhost
6.如何实例化InetAddress:两个方法:getByName(String host)、getLocalHost()
两个常用方法:getHostName() / getHostAddress()
2.InetAddress类:此类的一个对象就代表着一个具体的IP地址。
2.1实例化:
getByName(String host) 、getLocalHost()
2.2常用方法
getHostName() 、getHostAddress()
3.端口号:正在计算机上运行的进程。
作用:用来区分某一个IP主机下的不同进程。
范围:被规定为一个16为的证书0~65535。
端口号与IP地址的组合得出一个网络嵌套字:Socket
四、通信要素二:网络通信协议
1.分型模型:
2.TCP和UDP的区别(重点)
- TCP协议:
- 使用TCP协议前,须先建立TCP连接,形成传输数据通信。
- 传输前,采用“三次握手”方式,点对通信,是可靠的。
- TCP协议进行通信的两个应用进程:客户端、服务端。
- 传输完毕,须释放已建立的连接,效率低。
- UDP协议:
- 将数据、源、目的封装成数据包,不需要建立连接。
- 每个数据报的大小限制在64K内
- 发送不管对方是否准备好,接收方收到也不确认,故是不可靠的。
- 可以广播发送。
- 发送数据结束时无需释放资源,开销小,速度快。
3.TCP三次握手和四次挥手:为了建立可靠连接
代码示例:
五、URL网络编程
1.URL(Uniform Resource Locator)的理解:
统一资源定位符,对应着互联网的某一资源地址。
2.URL的5个基本结构:
3. 如何实例化:
URL url = new URL("http://localhost:8080/examples/beauty.jpg?username=Tom")