Day37网络编程

本文介绍了软件开发中的C/S和B/S架构,详细阐述了两种架构的优劣势及发展趋势,强调了统一接口原则的重要性。同时,讲解了网络编程的基础,包括其起源、OSI七层协议以及网络层和传输层的关键特征。此外,还探讨了IP协议、端口协议在网络数据交互中的作用,并简单介绍了网络相关名词如交换机、路由器等。
摘要由CSDN通过智能技术生成

Day37网络编程

1、软件开发架构

什么是软件开发架构
编程写项目之前需要遵循代码层面上的规范(代码运行的流行 环节 步骤)

1.1、两类软件开发架构

1.1.1、C/S架构
  1. C:client 客户端

  2. S:server 服务端

计算机上下载的各个互联网公司的app软件 本质其实是客户端 下载一个个客户端的目的就是为了体验对应服务端的服务
例如:
下载淘宝就是为了体验淘宝服务端提供的购物服务
下载抖音就是为了体验抖音服务端提供的视频服务

客户端可以看成是即将去消费的客人
服务端可以看成是给你提供服务的店

服务端应具备的特征

  1. 24小时不间断提供服务
  2. 固定的地址(不能经常改变)
  3. 可以同一时间服务很多人

架构优劣势
优势:下载对应应用的客户端 可以在客户端软件内高度定制相关服务
劣势:使用必须先下载客户端 比较频繁

1.1.2、B/S架构
  1. B:broswer 游览器
  2. S:server 服务器

b/s架构本质也是c/s架构
通过游览器来充当各个服务器的客户端 用于想要体验服务不需要下载指定的客户端

架构优劣势
优势:不需要下载客户端 能够快速体验服务
劣势:定制花里胡哨的功能比较繁琐

2、架构发展趋势

发展趋势:统一接口原则
微信
里面有很多小程序 可以直接体验其他服务

支付宝
里面有很多小程序 可以直接体验其他服务
后续就是cs和bs交错使用 避免各自的劣势!!!
可以方便用户使用 更重要的是可以给自己圈用户便于后期收割

3、网络编程简介

如何理解网络编程
基于互联网编写代码 程序可以实现远程数据交互

网络编程的目的
网络编程的本质是为了解决计算机之间远程数据交互

网络编程的意义
学习完网络编程之后 我们就可以编写一个C/S架构软件

3.1、网络编程起源

任何先进的技术一般都来源于军事

网络编程由美国军方开发
没有网络编程的时候 如果两台计算机之间要交互数据
只能使用硬盘拷贝 如果一个人在中国一个人在非洲
那就拿着硬盘坐飞机

网路过编程的要求

  1. 早期的电话
    必须要有电话线
  2. 大屁股电脑
    必须要有网线
  3. 笔记本电脑
    必须要有网卡

计算机之间想要实现远程数据交互 首要条件就是要有物理层连接介质

4、OSI七层协议

规定了计算机涉及到数据远程交互的时候 必须要经过的部件/流程
所有计算机在涉及到网络传输这块必须要有相同的零部件

OSI七层协议

OSI七层协议
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层

记忆技巧

应表会传网数物

针对上诉七层 我们也可以合并为五层

OSI优化为五层
应用层
传输层
网络层
数据链路层
物理连接层

优化为四层

优化为四层
应用层
传输层
网络层
网络接口层

每一层都有各自的功能和规范

5、各层的特征

数据发送出去的时候是 从上往下走
数据接收回来的时候 是从下往上走

我们按照从下往上的顺序研究

  1. 物理连接层
    保证物理连接介质的条件 传递电信号(主要研究网络线的情况)

  2. 数据链路层

    1. 规定了电信号的分组方式

    2. 规定了每台计算机都必须要有一块网卡

      网卡上必须有一串记录>>>:电脑以太网地址 :mac地址

      以太网地址/mac地址:由12位16进制数组成的

      前六位:产商编号
      后六位:生产流水线号

    即然mac地址相当于电脑的身份证号 也就意味着 可以根据该地址查找计算机(可以基于mac地址实现数据交互)

6、网络相关名词

交换机
能够让接入交换机的多台计算机实现彼此互联

以太网通信(mac通信)

原理:
有了交换机之后 根据电脑的mac地址 就可以实现数据交换
广播:先在交换机中吼 所有接入交换机的设备都能收到
单播:只有被查找设备 才会回复相应信息

缺陷
mac地址通信权限于局域网
接入交换机的设备过多 可能会造成广播风暴
广播风暴:类似于所有人同时吼!!!

局域网
有某个固定区域组成的网络
广域网可以看成是更大区域的局域网
路由器
将多个局域网连接到一起的设备

7、各层特征

7.1、网络层

IP协议
规定了任何接入互联网的计算机都必须要有一个IP地址
IP地址
IPv4:点分十进制
最小:0.0.0.0
最大:255.255.255.255
ps:随着社会发展 同时能够上网的人越来越多 上述地址不够分了

IP特征
每个IP都自带定位
ps:ip代理!!!

7.2、传输层

PORT协议
端口协议:规定了一台计算机上的每一个正在运行的应用程序都必须有一个端口号,端口号相当于是计算机用来管理多个应用程序的标记
端口号特征

  1. 端口号范围:0-65535

  2. 端口号是动态分配的

  3. 同一时间同一台计算机端口号不能重提

  4. 0-1024:一般是操作系统内部需要使用的
    1024-8000:一般是常见的软件已经使用了
    8000+:我们平时写代码可以使用8000之后的端口号

IP+PORT
IP:用于标示全世界任意一台接入互联网的计算机
PORT:用于标识一台计算机上的某个应用程序
IP+PORT:用于标识全世界任意一台接入互联网的计算机上的某一个具体的程序

什么是网址
网址(URL):统一资源定位符
url的本质
其实就是IP+PORT(IP:port)
www.baidu.com >>>> 124.12.11.232

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值