当前位置: 首页 > news >正文

【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(下)

前言

       在上一篇我们主要介绍了有关计算机网络概述的内容,下面这一篇我们将来介绍有关计算机网络体系结构与参考模型的内容。这一篇博客紧紧联系上一篇博客。

       这一篇博客主要内容是:计算机网络体系结构与参考模型,主要是计算机网络分层结构协议接口服务的概念ISO/OSI参考模型和TCP/IP模型


【考纲内容】

计算机网络体系结构与参考模型

  1. 计算机网络分层结构;计算机网络协议、接口、服务的概念
  2. ISO/OSI参考模型和TCP/IP模型

【特别注意】 

       本章主要介绍计算机网络体系结构的基本概念,读者可以在理解的基础上适当地记忆。重点掌握网络的分层结构(包括5层和7层结构),尤其是ISO/OSI参考模型各层的功能及相关协议、接口和服务等概念。掌握有关网络的各项性能指标。特别是时延带宽速率吞吐量等的计算。

 一、计算机网络分层结构

1.1 体系结构

       先来认识一下体系结构:计算机网络中的层次、各层的协议层间接口的集合层次结构以垂直分层模型来表示。除了在物理媒体上进行的是实通信之外,其余各对等实体间进行的都是虚通信对等层的虚通信必须遵循该层的协议

什么是实通信、什么又是虚通信呢?

  •        举个生动的例子,我要送一支笔送给某个人,当某个人拿到笔的时候,这样就是虚通信,因为不是我拿着笔送给某个人,而是通过快递的方式进行的。
  •        我将笔给快递员,快递员给分拣员,然后再通过高铁或飞机送到某个人的地方去,这就是实通信。

1.2 分层的意义和基本原则(但目前位置未涉及题目)

1.2.1 分层的意义

       两个系统中实体间的通信是一个很复杂的过程为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究实现和维护促进标准化工作,通常对计算机网络的体系结构进行分层的方式进行建模。

1.2.2 层次结构划分的原则

  1. 每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻居产生影响,可以采用最合适的技术来实现;
  2. 层间接口必须清晰,跨域接口的信息量应尽可能少;
  3. 层数应该适中。若层数太少,则造成每一层法协议太复杂;若层数太多,则体系结构过于复杂,使描述和实现各层功能变得困难;
  4. 各层之间界面自然清晰,易于理解,相互交流尽可能少;
  5. 保持下层对上层的独立性,上层单向使用下层提供的服务;
  6. 整个分层结构应能促进标准化工作

1.3 体系结构的特点

  1. 功能作为划分层次的基础;
  2. 第n层实体在实现自身定义的功能时,只能使用第n-1层提供的服务
  3. 第n层在向第n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能
  4. 仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽

1.4 概念理解

  1. 网络协议是按层次结构来组织的;
  2. 网络层次结构模型与各层协议的集合称为网络体系结构;
  3. 网络体系结构对计算机网络应该实现的功能进行了精确的定义
  4. 体系结构是抽象的,而实现是指能够运行的一些硬件和软件。

二、计算机网络协议、接口、服务的概念

2.1 协议

协议的概念:

  • 网络协议是为网络数据交换而制定的规则、约定与标准(就像是,快递公司发快递要在快递上面贴快递单号的作用一样,协议其实就是一种语言。)

协议的三要素:语义语法同步(时序)

  • 语义:用于解释比特流每一部分的意义
  • 语法:语法是用户数据域控制信息的结构与格式,以及数据出现的顺序的意义(相当于快递单上写有姓名,地址,联系方式固定的位置以及顺序。)
  • 同步(时序):事件实现顺序的详细说明

下面就来看一道关于时序的考试题目:

实体的概念:

  • 表示任何可发送或接收信息的硬件或软件进程

协议的功能:

  1. 协议是控制两个对等实体进行通信的规则的集合
  2. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
  3. 要实现本层协议还需要使用下层所提供的服务

2.2 服务

服务的概念:

  • 为保证上层对等体之间能相互通信,下层向上层提供的功能。(记住是单向的

2.3 接口(服务访问点)

接口的概念:

  • 接口是同一结点内相邻层之间交换信息的连接点。 

接口的功能:

  • 同一结点的相邻层之间存在着明确规定的接口,底层向高层通过接口提供服务
  • 只要接口条件不变,低层功能不变,低层功能的具体实现方法与技术的变化不会影响整个系统的工作。

服务访问点的概念:

  • 同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口

服务数据单元SDU的概念:

  • 层与层之间交换的数据的单位。

协议数据单元PDU的概念:

  • 对等层次之间传送的数据单位称为该层的协议数据单元PDU。
  • SDU可以与PDU不一样,例如,可以是多个SDU合成一个PDU,也可以是一个SDU划分为几个PDU.

2.4 协议与服务的概念是不一样的

  1. 协议的实现保证了能够向上一层提供服务。
  2. 本层的服务用户只能看见服务而无法看见下面的协议。
  3. 协议是“水平的”,即协议是控制对等实体之间通信的规则。
  4. 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
  5. 上层使用服务原语获得下层所提供的服务。

服务原语是什么?

服务原语的概念:

  • 上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语。

OSI参考模型将原语划分为4类:

  1. 请求。由服务用户发往服务提供者,请求完成某项工作
  2. 指示。由服务提供者发往服务用户,指示用户做某件事情
  3. 响应。由服务用户发往服务提供者,作为对指示的响应
  4. 证实。由服务提供者发往服务用户,作为对请求的证实

可能上面的解释会有一些懵,下面我们来用图形解释一下

三、ISO/OSI参考模型(七层)

       OSI的体系结构定义了一个七层模型,用以进行进程之间的通信,并作为一个框架来协调各层标准的制定;OSI的服务定义描述了各层所提供的服务,以及层与层之间的抽象接口和交互用的服务原语。下面我们来认识一下各层之间的功能:

3.1 物理层的主要功能

  1. 利用传输介质为通信的网络结点之间建立、管理和释放物理连接
  2. 实现比特流的透明传输,为数据链路层提供数据传输服务;
  3. 物理层的数据传输单元是比特

3.2 数据链路层的主要功能

  1. 在物理层提供的服务基础上,数据链路层在通信的实体之间建立数据链路的连接;
  2. 传输以“帧”为单位的数据包;
  3. 采用差错控制流量控制方法,使有差错的物理线路变成无差错的数据链路。

3.3 网络层的主要功能

  1. 通过路由选择算法(控制平面)为分组通过通信子网选择做适当的路径;
  2. 为数据在结点之间传输(转发,数据平面)创建逻辑链路;
  3. 实现拥塞控制网络互连等功能。

3.4 传输层的主要功能

  1. 向用户提供可靠的端到端服务
  2. 处理数据包错误、数据包次序,以及其他一些关键传输问题
  3. 传输层向高层屏蔽了下层数据通信的细节,是计算机通信体系结构中关键的一层。

3.5 会话层的主要功能

  1. 负责两个结点之间的传输链接,以便确保点到点传输不中断
  2. 管理数据交换。

 3.6 表示层的主要功能

  1. 用于处理在两个通信系统中交换信息的表示方式;
  2. 数据格式交换;
  3. 数据加密解密
  4. 数据压缩与恢复。

3.7 应用层的主要功能

  1. 应用程序提供了网络服务;
  2. 应用层需要识别并保证通信对方的可用性,使得协同工作的应用程序之间的同步;
  3. 建立传输错误纠正与保证数据完整性的控制机制。

四、TCP/IP参考模型(4层)

4.1 TCP/IP参考模型的发展

  • 目前使用的版本4,它的网络层协议一般记为IPv4;
  • 版本6的网络层IP协议一般记为IPv6(或IPng、IP next generation);
  • IPv6被称为下一代的IP协议

4.2 TCP/IP协议的特点

  1. 开放的协议标准;
  2. 独立于特定的计算机硬件与操作系统;
  3. 独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网上;
  4. 统一的网络地址分配方案,使得整个TCP/IP设备在网上都具有唯一的地址
  5. 标准化的高层协议,可以提供多种可靠的用户服务。

4.3 网络接口层

  1. 参考模型的最低层,负责通过网络发送和接收IP数据报;
  2. 允许主机连入网络时使用多种现成的与流行的协议;
  3. 充分体现出TCP/IP协议的兼容性与适应性,它也为TCP/IP的成功奠定了基础。

4.4 网际层

  1. 相当于OSI参考模型网络层无连接网络服务
  2. 处理互联的路由选择流控拥塞问题;
  3. IP协议是无连接的、提供“尽力而为”服务的网络层协议

4.5 传输层

  1. 在互联网中源主机与目的主机的对等实体间建立用于会话的端到端连接;
  2. 传输控制协议TCP是一种可靠的面向连接协议;
  3. 用户数据报协议UDP是一种不可靠的无连接协议。

4.6 应用层

应用层协议主要有:

  • 文件传输协议   FTP
  • 简单邮件传输协议    SMTP
  • 域名系统    DNS
  • 超文本传输协议    HTTP
  • 地址动态获取协议    DHCP

五、五层结构

六、OSI参考模型与TCP/IP参考模型的比较

对OSI参考模型的评价:

  1. 层次数量与内容选择不是很好会话层很少用到,表示层几乎是空的,数据链路层与网络层有很多的子层插入;
  2. 寻址、流控与差错控制在每一层里都重复出现,降低系统效率;
  3. 数据安全性、加密与网络管理在参考模型的设计初期被忽略了;
  4. 参考模型的设计更多是被通信的思想所支配,不适合与计算机与软件的工作方式;
  5. 严格按照层次模型编程的软件效率很低

对TCP/IP参考模型评价:

  1. 在服务、接口与协议的区别上不很清楚,一个好的软件工程应该将功能与实现方法区分开,参考模型不适合与其他非TCP/IP协议族;
  2. TCP/IP参考模型的主机——网络层本身并不是实际的一层;
  3. 物理层与数据链路层的划分是必要和合理的,而TCP/IP参考模型没有做到这一点。

总结

       这篇文章主要讲述了计算机网络的概述,认识了计算机网络的分层结构,计算机网络的协议、接口、服务的内容,以及两个重要模型:OSI/ISO模型和TCP/IP模型,感谢大佬们的点赞和关注,我会更加努力地简化我的笔记。

相关文章:

【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(下)

前言 在上一篇我们主要介绍了有关计算机网络概述的内容,下面这一篇我们将来介绍有关计算机网络体系结构与参考模型的内容。这一篇博客紧紧联系上一篇博客。 这一篇博客主要内容是:计算机网络体系结构与参考模型,主要是计算机网络分层结构、协…...

vscode 画流程图

文章目录 1、安装插件 draw2、新建文件3、开始画图4、另存为图片 vscode可以画流程图了,只需要安装插件就可以了。 1、安装插件 draw 2、新建文件 3、开始画图 4、另存为图片...

uniapp-一些实用的api接口

唤起导航 调用后可以跳转到地图页 uni.openLocation({latitude: res.data.data.latitude, //到达的纬度longitude: res.data.data.longitude, //到达的经度name: res.data.data.address, // 到达的名字scale: 12, // 缩放倍数success() { // 成功回调console.log(success) }…...

合宙Air724UG LuatOS-Air LVGL API控件-表格(Table)

表格(Table) 示例代码 --创建表格Table1 lvgl.table_create(lvgl.scr_act(),nil)--设置表格为4行5列lvgl.table_set_row_cnt(Table1,4)lvgl.table_set_col_cnt(Table1,5)--给每个单元格赋值lvgl.table_set_cell_value(Table1, 0, 0, "选手")l…...

前缀和思想

何为前缀和 有一个数组a, 为 ...... 前缀和 ...... 有两个问题: 1.如何求? 只需要从前往后遍历,令 就可以了,最开始是 ,定义 0 2. 有什么用? 能够快速地求出原数组中某一段的和,预处理的…...

Llama2-Chinese项目:1-项目介绍和模型推理

Atom-7B与Llama2间的关系:Atom-7B是基于Llama2进行中文预训练的开源大模型。为什么叫原子呢?因为原子生万物,Llama中文社区希望原子大模型未来可以成为构建AI世界的基础单位。目前社区发布了6个模型,如下所示: FlagAl…...

论文于祥读及复现——《VDO-SLAM: A Visual Dynamic Object-aware SLAM System》

论文详读之------《一个视觉动态对象感知SLAM系统》 0. 出发点(暨摘要)1.引言2. 相关工作2.1 探索针对动态环境的健壮SLAM2.2 分别执行SLAM和运动对象跟踪(MOT),作为传统SLAM的扩展,用于动态场景理解。2.3 对象SLAM(通…...

nuxt3项目使用pdfjs-dist预览pdf

使用的包的源代码是 pdfjs - npm 但是我们实际上项目中使用的是pdfjs打包后的dist文件,也就是pdfjs-dist - npm 所以我们需要使用这个命令 npm i pdfjs-dist 我们可以克隆pdfjs这个包来看源代码,里面有使用的例子,也可以根据源代码自己打…...

mybatis-generator-maven-plugin使用

前提说明 数据库&#xff1a;MYSQL57Mybatis : http://mybatis.org/generator/index.html 操作说明 引入插件 <plugins><!-- MyBatis 逆向工程 插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generat…...

基于SpringBoot开发的停车位管理系统(调用百度地图api)

文章目录 项目介绍主要功能截图:前台:后台部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot开发的停车位管…...

STC8单片机PWM定时器+EC11编码器实现计数

STC8单片机PWM定时器+EC11编码器实现计数 📌相关篇《STC单片机+EC11编码器实现调节PWM输出占空比》📍《stc单片机外部中断+EC11编码器实现计数功能》🔖STC8系列支持此功能的型号: ✨从上面的相关篇中有通过通用定时器加外部中断以及常规方法实现驱动EC11编码器的方法。本…...

MediaBox助力企业一站式获取音视频能力

以一只音视频百宝箱&#xff0c;应对「千行千面」。 洪炳峰、楚佩斯&#xff5c;作者 大家好&#xff0c;今天我分享的主题是MediaBox——行业音视频数字化再加速。 根据权威数据表明&#xff0c;65%的行业数字化信息来自视频&#xff0c;基于此&#xff0c;音视频技术对于行…...

仅做笔记用:Stable Diffusion 通过 ControlNet 扩展图片 / 扩图

发觉之前的 Outpainting 脚本效果仍旧不是很理想。这里又找了一下有没有效果更好的途径来扩图。于是就找到了通过 ControlNet 的方式来实现效果更好的扩图。这里临时记录一下在 Stable Diffusion 怎么使用 ControlNet 来扩展图片。 下载 control_v11p_sd15_inpaint_fp16.safet…...

代码随想录算法训练营19期第49天

121. 买卖股票的最佳时机 视频讲解&#xff1a;动态规划之 LeetCode&#xff1a;121.买卖股票的最佳时机1_哔哩哔哩_bilibili 代码随想录 初步思路&#xff1a;贪心。 总结&#xff1a; 分别考虑2种情况&#xff1a; 【1】dp[i][0] 表示第i天持有股票所得最多现金 【2】…...

用shell脚本实现一个对数组求和的函数,数组通过实参传递给函数,写一个函数,输出当前用户的uid和gid,并使用变量接收结果

目录 1.实现一个对数组求和的函数&#xff0c;数组通过实参传递给函数 结果为&#xff1a; 2.写一个函数&#xff0c;输出当前用户的uid和id&#xff0c;并使用变量接收结果 结果为&#xff1a; shell脚本指令前七个网页链接&#xff1a; 八、shell中的分支语句 【1】ife…...

运算符,switch

目录 算术运算符 逻辑运算符 强制类型转换 自增自减运算符 ​编辑 三目运算符 A&#xff1f;B:C 逗号表达式 switch 算术运算符 除法的运算结果和运算对象的数据类型有关&#xff0c;两个都是int商就是int&#xff0c;被除数或者除数只要有一个是浮点型数据&#xff0c;…...

运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar

朋友 我当你一秒朋友 朋友 我当你一世朋友 奇怪 过去再不堪回首 怀缅 时时其实还有 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar 基本可以断定&#xff0c;是jar不完整导致的。不完整&#xff01;&#xff01;&#xff01;记住关键字 检查1&#xff1a; …...

在找工作时的准备工作:结合现状,针对意向企业做好充分准备

在寻找工作时&#xff0c;充分准备是非常重要的。不仅要了解自己的现状和能力&#xff0c;还需要对意向企业进行深入了解&#xff0c;并提前准备好与该企业相关的技能和知识。尤其对于程序员来说&#xff0c;在面试IT技术岗位时&#xff0c;以下技巧可能会对你有所帮助&#xf…...

微服务·数据一致-事务与分布式事务

微服务数据一致-事务与分布式事务 概述 事务是计算机科学和数据库管理中的一个关键概念&#xff0c;用于确保数据的一致性和可靠想。事务管理是大多数应用程序和数据库系统中不可或缺的一部分。分布式事务扩展了事务的概念&#xff0c;用于多个分布式系统和服务的数据一致性管…...

GO语言篇之CGO

GO语言篇之CGO 文章目录 GO语言篇之CGO前言C代码嵌入GO代码C文件嵌入GO代码缺点 前言 Go语言可以通过内置的CGO调用C语言接口&#xff0c;从而实现C语言代码的交互&#xff0c;CGO提供了一种将Go代码嵌入到C代码中&#xff0c;或者从Go代码中调用C函数的方法 C代码嵌入GO代码…...

LVS负载均衡群集(NAT模式、IP隧道模式、DR模式)

目录 一、集群 1.1 含义即特点 1.2 群集的类型 1.3 LVS 的三种工作模式&#xff1a; 1.4 LVS 调度算法 1.5 负载均衡群集的结构 1.6 ipvsadm 工具 二、NAT模式 LVS-NAT模式配置步骤&#xff1a; 实例&#xff1a; 配置NFS服务器192.168.20.100 配置web1服务器192.168…...

PCL 使用克拉默法则进行三点定圆(二维)

目录 一、算法原理二、代码实现三、结果展示四、参考链接五、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 见:使用克拉默法则进行三点定圆(二维) 二、代码实现 #include <iostream>...

MCAL实战二(S32K324-NXP EB tresos GPT驱动配置详解)

目录 前言 一、配置之前 第一步 找时钟源 第二步 配置MCU时钟 二、开始配置 第一步 新建时钟参考点 第二步 硬件通道使能 第三步 配置连接 <...

Python 图形化界面基础篇:什么是 Tkinter 以及为什么选择它

Python 图形化界面基础篇&#xff1a;什么是 Tkinter 以及为什么选择它 引言第一部分&#xff1a;什么是 Tkinter&#xff1f; 1. 跨平台性2. Python 标准库的一部分3. 易学易用4. 社区和资源 第二部分&#xff1a;为什么选择 Tkinter&#xff1f; 1. 简单易用2. 跨平台兼容性3…...

Learning From Data 中英文对照 1.THE LEARNING PROBLEM (第7页)

为了简化感知器公式的表示法&#xff0c;我们将把偏差aaWpb与其他权重合并到一个向量中[wo&#xff0c;1&#xff0c;。…&#xff0c;wd]“&#xff0c;其中T表示向量的转置&#xff0c;所以w是acolumn向量&#xff0c;我们也将x作为列向量&#xff0c;并将其修改为x[o&#x…...

自己编译静态ffmpeg freetype2 not found问题解决

整理好依赖的ffmpeg仓库地址&#xff1a; https://github.com/pyke369/sffmpeg 报错&#xff1a;ERROR: freetype2 not found using pkg-config 网上查询说是需要安装freetype-devel ​​​​​​​sudo apt install libfreetype6-dev 安装后还是报一样的错&#xff0c;实…...

基于 Python 的音乐流派分类

音乐就像一面镜子&#xff0c;它可以告诉人们很多关于你是谁&#xff0c;你关心什么&#xff0c;不管你喜欢与否。我们喜欢说“you are what you stream” - Spotify Spotify 拥有 260 亿美元的净资产&#xff0c;是如今很受欢迎的音乐流媒体平台。它目前在其数据库中拥有数百…...

代码随想录训练营第49天|121.买卖股票的最佳时机,122.买卖股票的最佳时机II

代码随想录训练营第49天|121.买卖股票的最佳时机&#xff0c;122.买卖股票的最佳时机II 121.买卖股票的最佳时机文章思路代码 122.买卖股票的最佳时机II文章思路代码 总结 121.买卖股票的最佳时机 文章 代码随想录|0121.买卖股票的最佳时机 思路 维护一个历史最低价&#x…...

1-3 AUTOSAR软件架构

目录 一、简介 二、基础软件层 BSW 2.1 微控制器抽象层 2.2 ECU抽象层 2.3 复杂的驱动程序 2.4 服务层 三、运行时环境 RTE 四、应用软件层 SWC 一、简介 分层架构是实现软硬件分离的关键&#xff0c;它使汽车嵌入式系统控制软件开发者摆脱了以往 ECU 软件开发与验证时…...

Dajngo02_第一个Django案例

Dajngo02_第一个Django案例 经过之前学习&#xff0c;我们已经可以创建Django环境 现在开始尝试快速使用Django开发一个案例 案例&#xff1a;利用Django实现一个查看当前时间的web页面。 在django中要提供数据展示给用户,一般情况下我们需要完成3个步骤&#xff1a; 在urls.…...

网站开发网页/宁波seo网页怎么优化

随着分布式技术的发展&#xff0c;MQ技术产品也出现井喷。目前除了各类常用的MQ&#xff0c;比如Apache的ActiveMQ&#xff0c;Kafka&#xff0c;Pulsar&#xff0c;RocketMQ&#xff08;既是Apache&#xff0c;也是阿里的&#xff0c;头条也是基于RocketMQ&#xff09;&#x…...

怎么编辑网站/iis7站长工具

本文讲的是SAP亟待解决移动商务在中国市场的困局,SAP公司的发展如火如荼&#xff0c;对中国市场蠢蠢欲动&#xff0c;却阻扰不了业界的各种质疑。据IDC的统计&#xff0c;虽然SAP凭借HANA的强势坐稳数据库市场第四的位置&#xff0c;但市场格局并未发生大变化&#xff0c;IBM、…...

网站内部seo/关键词排名点击软件怎样

废话不多说&#xff0c;直接进入话题 Linux上Cacti的安装 1.环境需求 cacti需要 lamp 或lnmp环境。 2.cacti前置需求软件 安装Cacti前&#xff0c;需要php-pdo lm_sensors net-snmp php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool p…...

天津电商网站建设/市场营销网络

在此示例中&#xff0c;您可以获取网页上所有出现的电子邮件地址。 如果您必须更改站点的特定页面或子部分的电子邮件地址&#xff0c;则很有用。 也可能对从网页上筛选爬网电子邮件地址有用&#xff0c;尽管这不是我在这里要实现的目标。 查看更多jQuery .each示例 。 i 不敏感…...

网站建设前期规划论文/seo引擎优化外包公司

1.iPhone X的顶部有齐刘海&#xff0c;如果底部写一个fixed定位的底部悬浮不能到达底部&#xff0c;头部和底部都留有空隙&#xff0c;其实这是它的所谓的安全区&#xff0c;头部有44px&#xff0c;底部有34px。 2.完全充满 2.1在meta标签中声明viewport-fitcover <meta …...

网上拿手工做的网站/淘宝seo优化排名

作业要求&#xff1a; 做一个MP3文件播放器。具体要实现的是程序能够打开MP3文件&#xff0c;并可以播放这个文件。控制台程序或是gui程序都可以。gui是Graphical User Interface的简写&#xff0c;简单理解就是窗口的意思。思路&#xff1a;1、程序要知道文件的路径&#xff0…...