网络编程的一些构架和通讯三要素的
软件架构
* C/S架构
* 概述:客户端/服务器架构,用户使用需要单独安装客户端
* 举例:QQ客户端/腾讯服务器后台
* 优点:
1. 数据有部分存储在客户端,对于服务器的开销相对较小
2. 由于安装了单独的客户端,所以可以有丰富的功能
* 缺点:
1. 客户端需要安装,不够便捷
2. 每次更新客户端都需要重新安装一次,维护成本相对较高
* B/S架构
* 概述:浏览器/服务器架构,用户只需要用浏览器就可以使用
* 举例:JD淘宝网站
* 优点:
1. 使用方便
2. 所有的数据都在服务器,不需要额外更新客户端,维护成本低
* 缺点:
1. 所有的数据都只能存在服务器端,对服务器的开销大
2. 由于没有单独的客户端,要在浏览器上完成交互,功能相对会弱一些
网络通信三要素:
* IP地址:
* 概述:IP地址是计算机在某个网络环境中的唯一标识
1. IPv4:
1. 由32个二进制位转换成4个十进制
2. 每个十进制是一个字节,范围是0-255
3. 每个字节数据由点隔开
4. 举例:192.168.1.1
2. IPv6
1. 由128个二进制位转换成8个十六进制
2. 举例:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
* 端口号
* 概述:进程在计算机中的唯一标识
* 其实本质就是一组范围在0 - 65535的整数
* 注意:
1. 在一台计算机中进程的端口号不能重复
2. 大部分0-1023的端口都被系统占用了
* 协议
* UDP协议:
* 概述:不会和数据接收对象进行连接,发送数据就相当于发了广播,在的人就听到了,没在的人就没听到,没听到也无所谓,不会再重新发送
* 优点:
1. 不需要连接,速度快
* 缺点:
1. 无连接,不安全,不保证数据传输的成功性
2. 有大小限制 64k以内
* TCP协议:
* 概述:连接的三次握手:
1. 客户端向服务器发送请求
2. 服务器向客户端响应
3. 客户端收到响应后确认服务器的响应。
* 优点:
1. 安全可靠
2. 大小没有限制
* 缺点:由于需要三次握手建立连接,效率低
|
|