TCP/IP基础之应用程序接口

栏目: 服务器 · 发布时间: 7年前

内容简介:在“TCP/IP基础之数据封装”中我们曾提到,网络分层中的每个层相互之间会用接口进行交互并提供服务,其中应用层与用户之间的接口称之为应用程序接口(Application Programming Interface,简称API)。API实际上是一种功能集合,也可说是定义、协议的集合,无论是哪种集合,它的实质都是通过抽象来为用户屏蔽实现上的细节和复杂性。API的主要目的是提供应用程序给开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

在“TCP/IP基础之数据封装”中我们曾提到,网络分层中的每个层相互之间会用接口进行交互并提供服务,其中应用层与用户之间的接口称之为应用程序接口(Application Programming Interface,简称API)。API实际上是一种功能集合,也可说是定义、协议的集合,无论是哪种集合,它的实质都是通过抽象来为用户屏蔽实现上的细节和复杂性。

TCP/IP基础之应用程序接口

API的主要目的是提供应用程序给开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

从用户角度看,应用程序接口表现为一系列API函数,用户可以使用这些函数进行网络应用程序开发。

从网络角度看,应用程序接口给用户提供了一组方法,用户可以使用这组方法向应用层发送业务请求、信息和数据,网络中的各层则依次响应,最终完成网络数据传输。

API的作用主要体现在以下几个方面。

  • 远程过程调用(RPC,Remote Procedure Call Protocol):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
  • 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
  • 文件传输:通过发送格式化文件实现应用程序间数据共享。
  • 信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。

应用层的应用程序接口有很多,并且发展很快,比较常见的包括Socket、FTP、HTTP以及Telnet。

这些接口从大类上可分为四类:

  • 远程过程调用(RPC)接口
  • 数据查询接口
  • 文件类接口
  • 数据通信接口

例如FTP协议属于文件类接口,基于FTP用户可以实现文件在网络间的共享和传输。而Socket和HTTP可归结为数据通信接口,基于这两种接口用户可以开发网络通信应用程序,以及Web页面交互程序。

如果从编程开发角度看,无论是FTP、HTTP还是Telnet,都是基于Socket接口开发出来的应用层协议,是对Socket接口的进一步封装和抽象,从而为用户提供更高一层的服务和接口。

常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。

  • 流式socket是一种面向连接的socket,针对于面向连接的TCP服务应用。
  • 数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用。

从用户接口意义上讲,还有传输层的TLI接口,是由AT&T开发的,有时也称作XTI。它是传输层为用户提供的应用程序接口,可以用来在传输层进行应用开发。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

订阅

订阅

[美] 罗伯特·金奇尔、马尼·佩伊万 / 中信出版集团 / 2018-12 / 68.00元

数据显示,年轻人现在每天看视频的时间已经超过电视。YouTube 平台每天的视频观看总时长超过10亿小时,这个数字还在增长。数字视频牢牢占据着人们的注意力。 数字时代如何实现创意变现?视频平台如何提升自己的品牌认知和广告号召力?想要在这个庞大的媒体生态中占据流量入口,你需要先了解 YouTube。在过去的10年里,互联网视频平台 YouTube 已经像60多年前的电影、广播和电视的发明一样,......一起来看看 《订阅》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具