




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 互联网应用模式和API 客户 服务器工作模式 应用程序接口API 2 客户 服务器工作模式 C S的基本概念C S关系与软件特点C S工作过程与并发协议端口号 3 C S模式部分的重点与难点 1 C S模式的基本概念2 C S的工作过程 以及C S软件的各自特点3 协议端口号及应用4 插口地址概念 重点理解 主要了解 1 熟知的协议端口号与使用2 互联网C S工作模式与TCP IP的关系3 服务器并发处理 4 相互作用的客户 服务器 Client Server 模型 在TCP IP互联网中 进程间相互访问的模式主要是客户 服务器交互模式 客户和服务器分别是两个应用程序 进程 客户向服务器发出服务请求 服务器做出响应 进程 Process 就是运行中的程序 解决具体应用问题的逻辑处理和通信进程总称为 应用进程 5 为什么选择客户 服务器模式 第一个原因 互联网中资源 运算能力和信息不均等的现实 资源 运算能力不均 小到一个物理网络 往往是某些主机拥有大容量的外存 某些主机只有很少外存或没有外存 有些主机拥有打印机 有些主机没有 大到整个互联网 少数网点拥有超速运算能力 而大量网点由PC机构成 信息分布不均 比如名字信息 地址信息等 这些信息往往以数据库形式存在于少数特权主机当中 供局部或全局访问 这些信息一般具有公用性 为了节约整个网络的资源 没有必要在每一台机器上都维持一个拷贝 不均等现象不可避免 而客户 服务器模式体现了这种现象并很好地适应了这种现象 6 第二个原因 是技术性的 互联网进程通信与单机进程通信不同 互联网通信完全是异步的 无法知道哪个主机会在何时发起通信 因此 需要一种机制 为准备通信的进程之间建立联系 为两者的数据交换提供同步 C S模式是客观现实与技术实现相结合的产物 首先 什么是早期单机应用软件的工作方式 和早期单机应用软件一般只和本机资源交互 包括通信串 并口 当出现网络应用后 应用软件需要通过网络访问资源 交互信息 寻找一种基于网络的信息交互 计算分布模式 7 网络中计算机进程间通信同样存在主叫和被叫 但没有振铃机制 通信进程间收 发协调怎么办 互联网采用最简单的约定方式 C S模式 电话通信的呼叫模式 主叫发起通信 被叫振铃和提机 开始通信 振铃机制实现依赖信令系统控制处理 协调双方通信 收 发 矛盾 在网络环境下 许多问题的解决往往是通过位于不同主机中的多个进程之间的通信和协同工作来完成的 网络的进程之间怎样相互协同开始工作 为什么要C S模式 8 2000年前后 SIP协议的发展类似信令系统的互联网会话 呼叫 系统 可定义更丰富的会话模式 传统TCP IP网络应用程序使用客户 服务器模式 但C S不是所有应用交互会话模式 如IP电话 视频会议 多方游戏等 在客户 服务器模式中 每次通信均由客户进程发起 服务器进程从开机起就处于等待状态 这可保证服务器随时对客户请求做出响应 9 C S模式是约定客户请求 发起 通信 服务器响应通信 提供特定的服务 基本可以理解为请求 应答的分布计算 会话 模式 互联网将网络软件分为客户 client 服务器 server 客户和服务器都指通信中所涉及的两个应用进程 即本质是计算机软件 10 客户软件的特点 在进行通信时临时成为客户 但它也可在本地进行其他的计算 提供用户端基本应用功能框架 被用户调用 在用户本地计算机上运行 在需要时主动向远地服务器发起通信 可与多个服务器进行通信 通常不需要特殊的硬件和很复杂的操作系统 11 服务器软件的特点 专门用来提供某种服务的程序 可同时处理多个远地或本地客户的请求 在共享计算机上运行 当系统启动时即自动调用并一直不断地运行着 被动等待并接受来自多个客户的通信请求 一般需要强大的硬件和高级的操作系统支持 12 两个术语 在C S模式中 服务器 被动等待通信的程序 不是计算机 服务器级计算机 运行服务器软件的功能强大的计算机 硬件厂商把具有高速CPU 大容量存储器 功能强大的操作系统的计算机称为服务器 其实应该称为服务器级计算机 13 数据链路层 物理层 运输层 网络层 数据链路层 物理层 运输层 网络层 应用层 应用层 因特网 计算机A 计算机B 1C S工作建立过程 请求 应答 数据交互 TCP IP系统支持 C S工作过程和并发 14 C S模式的传输机制 面向连接传输 使用面向连接的传输协议时 两个应用必须首先建立一个连接 然后在该连接上发送数据 无连接传输 应用可以利用无连接接口在任何时间向任何目的发送消息 客户和服务器在通信时 既可以使用面向连接传输协议 又可以使用无连接传输协议 当使用面向连接传输时 客户需要首先形成一个到特定服务器的连接 该连接在客户发送请求和接收响应的过程中保持不变 当客户完成对服务的使用时 必须关闭这一连接 15 一台计算机上可以运行多种服务器 1 充分利用硬件资源 硬件可以被多种服务所共享 减少系统管理负载 因为这种情况可以减少被管理的计算机系统的数量 如果对服务的需求比较低 那么把服务器合并到一台计算机上能够显著地减少开销 而且并不会明显地降低性能 16 2服务器多重服务 单计算机可安装多服务器软件来提供多重服务 在等待的时候不占用资源 但同时响应需要系统较多资源支持 数据链路层 物理层 运输层 网络层 数据链路层 物理层 运输层 网络层 数据链路层 物理层 运输层 网络层 应用层 应用层 应用层 计算机A 计算机B 计算机C 客户1 服务器1 服务器2 客户2 因特网 17 并发性 客户 服务器交互模型的基础 并发服务器可以同时为多个客户提供服务 并不需要每个客户等待前一个客户的请求完成大多数并发服务器都是动态操作的 即只有当请求到达时 服务器才会动态地为到来的请求创建一个新的线程 服务器程序由两部分组成 主线程和服务线程 主线程 负责接收请求并为请求创建一个服务线程来处理请求 并使服务器保持活跃状态 主线程在创建处理请求的服务线程之后 会等待另一个请求的到来 服务线程 负责处理每个请求 然后终止 如果N个客户同时请求一台计算机上的给定服务 则会有N 1个线程提供服务 主线程等待额外的请求 N个服务线程与每个客户进行交互 在互联网中 客户发起请求完全是随机的 很有可能出现多个请求同时到达服务器的情况 18 数据链路层 物理层 运输层 网络层 数据链路层 物理层 运输层 网络层 数据链路层 物理层 运输层 网络层 应用层 应用层 应用层 计算机A 计算机B 计算机C 客户1 因特网 3服务器并发 一个服务器同时响应多个请求 即服务器并发执行是基本的 而不是逐个响应 一个服务器软件包括 接收请求 处理单个请求和生成新线程三部分 当请求到达时 服务器将它交给一个控制线程 副本 和已有线程并发 服务器1 19 复杂的C S交互 实际大型网络应用S软件系统中 C S的交互可能是复杂的过程 1 客户应用不限制访问一个服务器 客户一个应用可以成为多个不同服务器 可能不同计算机上 的客户 要处理多个服务器通信 2 提供某种服务的服务器同时能成为另一个服务的客户 如文件服务器在进行文件服务处理时需要记录时间 可能又要访问时间服务器 3 可能发生服务器的循环依懒 在两个服务器间 或多服务器之间的依懒环 20 数据链路层 物理层 运输层 网络层 数据链路层 物理层 运输层 网络层 因特网 计算机A 计算机B 协议端口号 C与S之间怎样准确识别特定服务 21 一台运行多种服务器的计算机上 每种服务器如何识别发给自己的请求 解决方法 传输协议为每种服务分配一个惟一的标识符 服务器和客户必须使用这一标识符 服务器开始运行时 它向本地协议软件注册它使用的服务标识符 客户访问远程服务器时 需要指定对应的服务标识符 客户计算机上的传输协议软件在发送请求时 向服务器计算机发送这一标识符 服务器计算机上的传输协议软件使用这一标识符决定处理这一请求的服务器程序 22 端口 端口就是运输层服务访问点TSAP端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层 以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程 从这个意义上讲 端口是用来标志应用层的进程 服务器通过它明确所提供的服务 23 21 23 25 53 69 161 应用层 传输层 端口层 24 源端口 目的端口 TELNETB 目的端口号 23把包发送到我的TELNET应用中 A B 25 端口 端口用一个16bit端口号进行标志 端口号只具有本地意义 即端口号只是为了标志本计算机应用层中的各进程 在因特网中不同计算机的相同端口号是没有联系的 26 两类端口 一类是熟知端口 其数值一般为0 1023 当一种新的应用程序出现时 必须为它指派一个熟知端口 另一类则是一般端口 用来随时分配给请求通信的客户进程 27 TCP IP定义的应用程序熟知端口 FTP 21 Telnet 23 SMTP 25 DNS 53 TFTP 69 HTTP 80 SNMP 161 协议端口号定义 而一般端口 是可以由系统开发人员随时定义分配的 28 通常TCP IP的主要端口号 1 225之间 端口号256 1023由Unix系统占用 端口号1024 5000作为临时端口分配 5000以上 作为其他服务器 不常出现 标准简单服务端口号 29 为什么服务器端口号一定是唯一定义的 而客户端的端口号可以是按定义的 也可以临时自指定的 只具有本地意义 为什么服务器端口号一定是唯一定义的 而客户端的端口号可以是按定义的 也可以临时指定的 答 协议端口号解决是C S交互过程中服务器定位问题 使所有客户都能正确找到需要的服务 所以服务器端口一定唯一确定的 而客户源端口号只对客户自己有效 一计算机可以有多个应用进程 通过不同的端口号 源不同 目的相同 源同 目的不同 均不同 同时进行多任务处理 此时TCP UDP IP完成复用与分用 协议端口号解决是C S交互过程中服务器定位问题 使所有客户都能正确找到需要的服务 所以服务器端口一定唯一确定的 而客户源端口号只对客户自己有效 30 实际通过TCP应用 除端口外 还必须有IP地址 TCP连接的两个端点 端与端通信 是由端点地址 IP地址 端口号 确定 IP地址 端口号 也被称为插口 Socket 或者端地址 EndpointAddress 实际通过TCP通信 除端口外 为什么必须有IP地址 31 TCP UDP协议插口 从IP包结构看 网络应用进程通信需要端地址 IP地址 端口号 32 总结 1 什么是C S工作模式 2 网络应用为什么需要C S模式 3 为什么通常服务器软件复杂 4 应用进程通信端口地址 为什么还要IP地址 是否需要物理网地址 33 作业 1 客户软件和服务器软件主要特点 2 一个服务器软件通常需要包括哪些主要的功能部分 3 为什么通常服务器端口号是唯一定义的 而客户端的端口号可以临时指定 34 应用程序接口API 1应用程序接口概述 2套接字API基本结构 3实现套接字API的过程 4套接字API的其它问题 5套接字API实现实例 35 1 应用编程接口的概念与重要性2 套接字API的特点 函数 参数3 Socket套接字API实现的基本过程 重点理解 主要了解 1 套接字API主要过程的作用2 套接字继承与服务器并发 36 应用程序接口概述 C S模式解决了应用程序通过互联网交互方式 等待 请求 并通过端口号来标识服务器提供的某种服务 尽管TCP IP并不复杂 但应用程序编写当然不希望每次逐一填写TCP IP的各个报头 应用程序对网络低层通信细节实际不想关心 所以在应用程序和通信网络之间怎样形成标准的接口 API 应用程序只需要通过API就能完成通信和数据交互 是网络应用发展的一大进步 互联网应用程序怎样和TCP IP协议通信接口 即C S编程怎样使用TCP IP协议进行通信与数据交互 传统通过网络 DDN FR ATM 的交互 使用计算机串行接口或LAN仿真 通信网把数据传递到对方计算机 其余需要计算机应用处理 1网络编程接口发展背景 存在问题 1 计算机应用和网络两层皮 2 计算机应用必须和底层硬件 接口 打交道 严重阻碍网络应用发展 37 数据链路层 物理层 运输层 网络层 数据链路层 物理层 运输层 网络层 N个服务器 因特网 计算机A 计算机B 应用进程通过端地址建立可靠双工通信连接和收发数据 应用程序或编程人员怎样处理各种协议 TCP IP IGMP 的具体报格式 需要逐一包文内容填写 38 实际互联网应用程序只需要通过API完成通信和数据交互的调用 从而不需要处理网络的细节 是网络应用发展的一大进步 API体现了现代网络又一个重要思想 应用程序与网络 一体 又 分离 一体 把网络通信对上抽象API成为计算机体系组成部分 网络API定义与设计已成为所有处理网络应用与网络通信底层接口的实际方法 在3G 4G NGN网络中最大标准组就是解决其API的问题 分离 实现高效 简捷API 就意味着实现应用与网络通信底层 分离 就可不关心通信实现的细节 大大降低了网络应用开发难度 促进应用发展 39 应用程序接口API是应用程序通过TCP IP协议软件进行通信交互的接口 它是一组定义的操作 非硬件 API决定了网络应用所能达到功能和这些功能编程开发的难度 应用程序接口API是一般由操作系统 或编程系统 提供 是由应用程序调用的一个过程及过程所需的参数 通常一个API基本操作是独立过程 如API一个过程完成建立通信 另一个过程完成数据接收 应用程序接口API概念 API ApplicationProgramInterface 应用程序接口或应用编程接口 40 通信协议只是规定协议应该提供的操作 并不指定应用程序与协议进行交互时的API 协议端口与API接口有什么区别 协议端口是服务器软件的标识 16位整数 API是一个执行过程 41 套接字API SocketAPI 互联网API主要有两类 1 伯克利版API SocketAPI 称为套接字API 从BSDUnix版发展而来 2 A AT版TLI运输层接口TransportLayInterface 尽管互联网允许OS系统选择API 但目前Windows WinSoc Unix Linux主流OS系统广泛接受套接字API 所以成为事实上标准 套接字API是操作系统的一个组成部分 42 SocketAPI 应用程序与TCP IP协议之间的接口 它作为一种通用的通信编程接口而设计 43 Socket是应用层与TCP IP协议族通信的中间软件抽象层 它是一组接口 在设计模式中 Socket其实就是一个门面模式 它把复杂的TCP IP协议族隐藏在Socket接口后面 对用户来说 一组简单的接口就是全部 让Socket去组织数据 以符合指定的协议 44 套接字API的基本结构 套接字API是Unix操作系统的发展而来的 套接字API网络通信描述基本保持Unix对设备 文件的操作风格 如Unix文件操作采用 open read write close 过程模式 首先产生一个操作的描述符 然后每个过程由函数 参数具体组成 套接字API同样用描述符的方法 在使用通信协议前必须申请操作系统生成一个套接字 系统返回一个小整型数 如3 5 作为描述符来识别这个套接字 以后通信过程中这个套接字作为参数 而不必每次传输时指明细节 45 API过程中应用程序选择的端口 通信地址 客户或服务器 使用协议等怎么表达呢 套接字API通过定义多个函数 而不是单个 为什么 来确定参数和选项 既当创建套接字描述符后 调用多个函数过程说明套接字使用的具体细节 总结 套接字API的使用是通过首先创建套接字 返回整型描述符 然后调用多个包含具体参数和选项的函数过程 完成应用程序和协议通信的接口 为什么是多个而不是单个 单个绝对不行吗 46 实现套接字API的过程 Socket过程该过程创建一个套接字并返回一个整数描述字 descriptor socket protofamily type protocol close过程该过程告诉系统终止对套接字的使用 close socket bind过程服务器使用该过程来提供服务器所使用的 用于等待连接的协议端口号 bind socket localaddr addrlen 47 listen过程服务器调用该过程来等待来自客户的连接 listen socket queuesize accept过程面向连接的服务器必须调用accept过程才能接收下一个连接请求 newsock accept socket caddress caddresslen connect过程客户调用该过程建立与特定服务器之间的连接 connect socket saddress saddresslen 48 send过程如果套接字被连接 可以利用该过程发送数据 send socket data length flags sendto过程和sendmsg过程允许客户或服务器使用无连接套接字发送数据 sendto socket data length flags destaddress addresslen sendmsg socket msgstruct flags 是一个结构 该结构包含了关于目的地址 目的地址的长度 发送的消息 以及消息的长度等信息 49 recv过程应用可以调用该过程从连接套接字中接收数据 recv socket buffer length flags recvfrom过程和recvmsg过程如果套接字并没有被连接 应用可以用于接收来自任意发送者的消息recvfrom socket buffer length flags sndraddr saddrlen recvmsg socket msgstruct flags 是一个结构 该结构含有接收消息的地址和发送者的IP地址 50 实现套接字API的过程 1 创建一个套接字并返回一个返回整型描述符DescriAptor socket pf type protocol Pf 协议栈TCP IP AppleTalk type 连接 无连接 protocol 具体协议tcp udp 2 Bind过程Bind socket locaaddr addrlen 服务器使用Bind过程赋予套接字特定的端地址 实现socket和端地址联编 使用无连接协议时已准备好接收信息 Locaaddr是本地端地址的一般socket地址描述结构 TCP IP地址和协议端口号将按socket地址结构表达 51 4 Listen过程Listen socket queuesize 如服务器是面向连接的 需要使用Listen过程将套接字设置为被动模式 然后必须接受一个连接请求 Queuesize 客户请求队列的长度 开始为空 3 Close过程close socket close过程的调用告诉系统终止对一个套接字socket的使用 系统对套接字进行释放 应用程序与传输协议间停止数据交互 如果套接字在使用面向连接的传输时 在关闭套接字前先关闭连接 52 5 Accept过程newsock accept caddress caddresslen 使用面向连接通信时 Accept过程在套接字中确定了连接客户的地址 服务器通过调用Accept过程接受下一个连接 然后Accept为该连接创建一个新套接字newsock返回调用者 服务器将用这个新套接字和客户通信 直至与该客户通信结束 caddress 按照socket地址结构表达的客户端IP地址 4 5步骤是面向连接通信时服务器必须的过程调用 完成被动地接受一个连接请求 然后创建一个服务器与特定客户TCP连接的新的套接字 依次通信 同时原套接字仍保持不变 当该客户连接结束后 使用原套接字接受来自下一个客户的连接 53 6 客户端Connect过程Connect socket saddress saddresslen 当使用面向连接的TCP Connect过程启动一个指定服务器的运输层连接 本质上说Connect是客户与已经调用了Accept过程的服务器进行连接的过程 saddress是按一般socket地址结构表达的服务器IP地址和协议端口号 非常有意思的是 当客户使用无连接的UDP协议时 也可以使用Connect过程 此时并不启动一个连接 而仅仅使得socket与服务器端地址联编 通常对无连接的传输一般每一个IP报指明目的地址 但许多应用客户只和一个服务器通信 也即具有同样的端目的地址 此时客户可以通过套接字的地址记录 发送多条信息 而不必每条指明地址 无连接传输的Connect过程调用 建立连续无地址的IP包传输 实际上理解为客户程序不需要给API指明端地址 而使用API默认地址 54 7 Send过程send socket data length flags 当套接字连接建立后 客户与服务器就需要发送信息 客户与服务器使用Send过程完成数据发送 data是内存待发数据的地址 length是数据字节数 flags特殊选项位 常用于系统调试 sendto socket data length flags destaddress addresslen sendto过程是客户或服务器在未连接时发送信息 destaddress是目的地址的socket结构表达 sendmgs socket mgsstrucct flags sendmgs过程完全同sendto 但定义结构简化参数表达 mgsstrucct是包括目的地址 地址长度 待发信息位置和信息长度的结构表达 具体不展开 允许客户或服务器使用无连接套接字发送数据 55 8 Recv过程recv socket buffer length flags 当套接字连接建立后 客户与服务器也同样需要接收信息 客户与服务器使用Recv过程完成从一个连接的套接字中接收数据 buffer是内存中存放接收到的数据的地址 length是缓冲区大小 flags控制细节选项 recvfrom socket buffer length flags sndraddr saddrlen recvfrom过程是客户或服务器在未连接时接收任一客户发来的信息 同时对应每收到的信息返回发送地址作为应答 sndraddr是发送地址的socket结构表达 recvmgs socket mgsstrucct flags recvmgs过程完全同recvfrom 简化参数的表达 并和sendmgs过程对应 mgsstrucct是一个结构 该结构含有接收消息的地址和发送者的IP地址 56 其他套接子过程 1 getpeername过程 服务器在调用accept过程接收连接请求之后 可以调用该过程 以获得启动连接的远程客户的完整地址 2 gethostname过程 客户或服务器可以调用该过程来获取运行该程序的计算机的信息 3 gethostbyname过程 通过计算机名字返回该计算机的IP地址 客户经常使用该过程将用户输入的名字转换成相应的协议软件所需的IP地址 4 gethostbyaddr过程 给出一台计算机的IP地址 它将返回该计算机的名字 当要向人们显示主机信息时 客户或服务器就可以使用该过程 write socket buffer length read socket buffer length 套接字API继承Unix的I O一般操作 对已建立连接的套接字 可通过write read套接字进行网络数据传输 其功能同send recv过程 57 客户 服务器模式的socket实现框架 服务器 Socket bind listen accept 阻塞 等待客户连接请求 recv 处理服务请求 send Socket connect send recv 客户 建立连接 服务请求 服务响应 面向连接的客户 服务器 服务器必须首先启动 直到它执行完accept 调用 进入等待状态后 方能接受客户请求 假如客户先启动 则connect 将返回出错代码 连接不成功 服务器端地址联编 创建套接字 等待连接请求 请求队列长度 客户地址新套接字建立连接 服务器端地址 获取IP地址与定义端口 58 套接字 并发与线程 套接字API设计需要适应服务器并发 当服务器并发创建一个副本时 每个新创建的线程从创建的线程继承所有套接字的一个副本 也即继承拥有了所有套接字的访问权 一个并发服务器首先打
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2313-2025多参数在线激光粒度仪校准规范
- 2025年福州东盟海产品交易所有限公司总经理职位职业经理人市场化选聘考前自测高频考点模拟试题及参考答案详解一套
- 2025福建三明大田县公开招聘紧缺急需专业教师7人考前自测高频考点模拟试题及1套完整答案详解
- 小学安全培训收费标准表课件
- 2025年临沂兰陵县教育系统部分事业单位公开招聘教师(5人)考前自测高频考点模拟试题有答案详解
- 2025江苏连云港市海州湾发展集团有限公司及子公司招聘20人考前自测高频考点模拟试题及完整答案详解
- 2025广东广州市中山大学孙逸仙纪念医院超声科医教研岗位招聘模拟试卷及答案详解(历年真题)
- 安全培训教学课件制作
- 2025江西吉安市直三家公立医院编外招聘33人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025福建省高速公路集团有限公司招聘43人考前自测高频考点模拟试题及参考答案详解
- 2025-2026秋学生国旗下演讲稿:第4周涵养文明习惯点亮成长底色-养成教育
- GB/T 222-1984钢的化学分析用试样取样法及成品化学成分允许偏差
- 国家开放大学电大《课程与教学论》形考任务3试题及答案
- 商务英语口语900句
- 培训师的核心技能-讲义课件
- 苏教版四年级(上)科学第二单元测试题(无答案)
- 辽宁省沈阳市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 锅炉空预器清洗方案
- 《霜降-二十四节气》 课件
- 药敏试验结果的解读
- 冶金行业应用产品介绍(应用)
评论
0/150
提交评论