网络编程概念:
让程序可以和网络上的其他设备中的程序进行数据交互。
网络通信基本模式:
CS:Client-Server 自己写客户端和服务器交流
BS:Browser/Server 通过浏览器和服务器交流
实现网络编程关键的三要素
IP(Internet Protocol):
常见的IP分类为:
IPv4:4个8位字节,一共32位,每个8位都用10进制表示。例如:192.168.1.66
IPv6:16个字节个8位字节,一共128位,每个整数用四个十六进制位表示。例如:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
IP地址形式:
公网地址和局域网使用。192.168. 开头的就是常见的局域网地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用。
IP常用命令:
ipconfig:查看本机IP地址
ping IP地址:检查网络是否连通
IP相关的类:
InetAddress
端口:
标识进程(程序),规定是一个 16 位的二进制,范围是 0~65535,完全够用。
端口类型
周知端口:0~1023,被预先定义的知名应用占用(如:HTTP占用 80,FTP占用21)
注册端口:1024~49151,分配给用户进程或某些应用程序。(如:Tomcat占 用8080,MySQL占用3306)
动态端口:49152到65535,不固定分配某种进程,动态分配。
注意事项:一个设备中不能出现两个程序的端口号一样
协议:
数据在网络中传输的规则。
网络通信协议的两套参考模型:
OSI参考模型:世界互联协议标准,过于理想化,未能广泛推广。
TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。
传输层的2个常见协议:
TCP(Transmission Control Protocol) :传输控制协议
使用TCP协议,传输前,采用“三次握手”方式建立连接,是面向连接的可靠通信协议。
在连接中可进行大数据量的传输 。连接、发送数据都需要确认,且传输完毕后,还需四次挥手释放已建立的连接,通信效率较低。
三次握手:先来回各知会一次,第三次建立连接。
四次挥手:客户端说要走了,服务器先说一次好的,马上就好,弄完再告诉客户端说我over了,客户端发送断开确认函给服务器,然后断开连接。
适用于对信息安全要求较高的场景,例如:文件下载、金融等数据通信。
相关案例:简单代码专栏/TCP通信
UDP(User Datagram Protocol):用户数据报协议
将数据源IP、目的地IP和端口封装成64KB内的数据包,不需要建立连接。
发送不管对方是否准备好,接收方收到也不确认,所以也是不可靠的 。
可以广播发送 ,发送数据结束时无需释放资源,开销小,速度快。
可用于语音通话,视频会话等。
相关案例:简单代码专栏/UDP通信。
UDP的三种通信方式
单播:单台主机与单台主机之间的通信。
广播:当前主机与所在网络中的所有主机通信。
组播:当前主机与选定的一组主机的通信。
实现一次网页访问的底层活动
浏览器先将用户输入的域名发送给dns服务器,dns服务器返回解析的ip地址,浏览器根据ip访问服务器,服务器返回数据。