今日学习总结2.21
一、软件开发架构
1.C/S架构
C:client 客户端
S:server 服务端
可以理解为:
客户端:店面服务的人员
服务端:就是店面
客户端是可以有多个的
服务端需要具备的两大特征:
1.24小时对外提供服务
2.必须要有一个公共的网址
2.B/S架构
B:browser 浏览器
C:server 服务端
本质上B/S架构也是C/S架构
二、OSI七层协议
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
五层划分为:应用层、传输层、网络层、数据链路层、物理层
四层划分为:应用层、传输层、网络层、网络接口
三、网络层
如何查看电脑IP?
win + r 输入cmd再输入ipconfig
IP协议:规定接入互联网的任何一台计算机都要有一个IP地址,它定义的地址称之为IP地址,广泛采用
的v4版本即IPv4,它规定网络地址由32位2进制表示范围
IP地址:
ipv4:最小:0.0.0.0
最大:255.255.255.255
本机回环地址:127.0.0.1
ipv6:表示的范围很大
IP地址能确定世界上任何一台接入互联网的计算机
公网和内网IP
阿里云、腾讯云、华为云...
公网IP:需要购买
内网IP:192.168开头的都是内网
广域网,局域网
四、传输层
TCP协议和UDP协议都是属于传输层
端口(port):
范围:0-65535
基本使用:
0-1024是系统默认使用的
1024-8000是常用软件使用的3306,8000,5000
以后我们自己开到的软件端口号要使用8000以后的
一个端口在同一时刻不能同时使用
总结:ip:port ====> 127.0.0.1:80
ip + port能够表示世界上唯一一台计算机上的唯一一个应用正在执行
五、常用软件端口号
应用程序: FTP TFTP TELNET SMTP DNS HTTP SSH MYSQL
熟知端口:21 20 69 23 25 53 80 22 3306
传输层协议:TCP UDP
http协议端口号:80
https协议: http + ssl证书
六、TCP协议
TCP协议也叫流式协议,可靠协议
三次握手和四次挥手
目的:建立连接
三次握手:
四次挥手:
面试题:为什么建立连接是三次握手,关闭连接却是四次挥手?
建立连接的时候,服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,服
务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也
可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次
七、UDP协议
不可靠传输,没有传输通道一说
总结:
TCP:1.数据安全可靠
2.但是速度慢
UDP:1.数据不安全
2.但是速度快
案例:远程控制软件
八、socket编程
抽象层不属于七层协议的任何一层
什么是socket?
我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调
用已实现进程在网络中通信
九、基于TCP协议的套接字编程
必须先运行服务端,再运行客户端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!