网络编程
软件开发框架
软件开发框架可以看做是围墙,在围墙围起来的空间范围内对程序的功能进行了划分,规定程序各个功能模块之间运行的逻辑以及请求逻辑
在我们之前所编写的ATM与选课系统中,都使用了三层架构,三层架构也属于软件开发框架的一部分
常用软件开发架构
C/S架构
C即client,也就是我们常说的客户端 S即server,也就是我们都会用到的服务端 我们所使用的各个软件,也就是APP其实就是各个公司开发的客户端 通过这些客户端引导我们使用到服务端所提供的服务 优势:具有高度定制化的属性,可以根据开发公司的需求有不同的功能 劣势:只有在客户下载后才可以使用
一般情况下,客户端与服务端的交互需要使用到网络,但是如果客户端与服务端存储在同一台计算机上时就不需要了
B/S架构
B即Browser,就是我们日常使用的浏览器 S依旧是server,在这里指代服务器或服务端 浏览器可以作为所有服务端的客户端使用 所以B/S架构的本质仍是C/S架构 优势:用户的访问更加方便,无需下载 劣势:局限性很强,无法进行高度定制
服务端必备的三大要素
1.24小时全天候服务
2.固定的地址便于查找
3.可以同时为多个客户提供服务
之前的ATM与选课系统,我们所使用的第一层可以视为我们的客户端,第二层及第三层就是我们的服务端
软件设计的趋势走向会慢慢的向着统一接口发展,就像我们可以在微信与支付宝的小程序访问到其他软件的功能一样,接口逐步统一
网络编程引入
什么是网络编程?
基于网络编写代码,并利用接口实现数据远程交互
学习网络编程的目的是什么?
可以进行基于C/S或者B/S架构的程序代码编写
网络最早起源于美国的军事领域,是为了解决数据远程传递预处理的问题
网络编程必备条件
数据的远程交互(实现数据远程传递与处理)
数据的远程交互都是以必须的物理连接介质为基础的例如我们日常生活中的网线、电话线
OSI七层协议
OSI七层协议规定了所有计算机在进行远程数据交互时必须以相同流程处理数据来进行传递,相当于工厂中的流水线,在规定固定的加工流程的同时,要求必须使用同样规格的加工工具,也就是协议中所要求的计算机制造过程中必须拥有相同的功能硬件
应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层
可以采取只记忆首个文字的方式进行快速记忆
在我们现实中的使用过程中,常用到的是在七层的基础上整合出的五层或者四层
# 五层结构 应用层 传输层 网络层 数据链路层 物理连接层 # 四层结构 应用层 传输层 网络层 网络接口层
PS:接收网络消息的传递顺序是在这七层中自下而上传递
发送网络消息时与接收相反,自上而下传递
OSI七层协议分层理解
标签:计算机,IP,编程,网络,PORT,服务端,客户端 From: https://www.cnblogs.com/lf17603472426/p/16893525.html物理连接层
主要用于确保计算机之间的物理连接介质,接收数据(bytes类型、二进制)
数据链路层
1.规定了电信号的分组方式
2.以太网协议
规定了计算机在出厂的时候都必须有一块网卡,网卡上有一串数字
该数字相当于是计算机的身份证号码是独一无二的
该数字的特征:12位16进制数据
前6位产商编号,后6位流水线号
该数字也称为:以太网地址/MAC地址网络相关专业名称
计算机之间要想实现数据交互必须要'连接'到一起
1.交换机
能够将所有接入交换机的计算机彼此互联起来
2.广播
首次查找接入同一个交换机的其他计算机,需要向交换机传递一个所有计算机都可以接受到的信号
首次被查找的计算机回应查找它的计算机,并附带自己的mac地址
4.广播风暴
接入同一台交换机的多台计算机同时发广播
5.局域网
可以简单的理解为有单个交换机组成的网络
在局域网内可以直接使用mac地址通信
6.广域网
可以简单的理解为范围更大的局域网
7.互联网
由所有的局域网、广域网连接到一起形成的网络
8.路由器
不同的局域网计算机之间是无法直接实现数据交,互的需要路由器连接网络层
IP协议:规定了所有接入互联网的计算机都必须有一个IP地址 类似于身份证号
mac地址是物理地址可以看成永远无法修改
IP地址是动态分配的,不同的场所IP是不同的
IP地址特征:
IPV4:点分十进制
0.0.0.0
255.255.255.255
IPV6:能够给地球上每一粒沙分一个IP地址
IP地址可以跨局域网传输
IP地址可以用来标识全世界独一无二的一台计算机传输层
PORT协议(端口协议)
用来标识一台计算机上面的某一个应用程序
范围:0-65535
特征:动态分配(洗浴中心号码牌)
建议:
0-1024 系统默认需要使用
1024-8000 常见软件的端口号
8000之后的URL:统一资源定位符(网址)
网址本质是有IP和PORT组成的IP+PORT:能够定位全世界独一无二的一台计算机上面的某一个应用程序
域名解析:将网址解析成IP+PORT
我们使用网址的方式记忆是因为IP+PORT的记忆方式复杂繁琐,网址相对而言简单明了,便于记忆
IP:PORT 实际使用冒号连接
114.55.205.139:80