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

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

内容简介:在“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。它是传输层为用户提供的应用程序接口,可以用来在传输层进行应用开发。


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

查看所有标签

猜你喜欢:

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

Haskell函数式编程基础

Haskell函数式编程基础

Simon Thompson / 科学出版社 / 2013-7-1 / 129.00

《Haskell函数式编程基础(第3版)》是一本非常优秀的Haskell函数式程序设计的入门书,各章依次介绍函数式程序设计的基本概念、编译器和解释器、函数的各种定义方式、简单程序的构造、多态和高阶函数、诸如数组和列表的结构化数据、列表上的原始递归和推理、输入输出的控制处理、类型分类与检测方法、代数数据类型、抽象数据类型、惰性计算等内容。书中包含大量的实例和习题,注重程序测试、程序证明和问题求解,易......一起来看看 《Haskell函数式编程基础》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具