面向对象的网络协议 (21).pdf

面向对象的网络协议 (21).pdf

ID:52702447

大小:816.86 KB

页数:19页

时间:2020-03-29

面向对象的网络协议 (21).pdf_第1页
面向对象的网络协议 (21).pdf_第2页
面向对象的网络协议 (21).pdf_第3页
面向对象的网络协议 (21).pdf_第4页
面向对象的网络协议 (21).pdf_第5页
资源描述:

《面向对象的网络协议 (21).pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、下载第17章应用程序编程接口应用程序编程接口(API)指的是访问所提供服务的编程语言。引入API的一个目的是为了对应用屏蔽服务实现的细节,另一个目的是提供一定级别的抽象,以便简化服务的使用,或者为不同的服务提供和变体呈现统一的访问接口。此外,API通常使它下面的构件和上面的构件能独立地进行开发和实现。在本章中,我们将重点放在通信API,它能用来访问本地通信和远程通信服务。首先,我们简要地给出现存的通信API的概貌。然后,以BSDSockets方法(它是尽人皆知的现代API)来讨论一个新的API方法,称为So

2、ckets++。Sockets++是一个面向对象的API,它特别是为访问模块化和可配置的通信系统所提供的服务而提出的。Sockets++遵照MCS构架设计,它以C++编程语言实现(Stroustrup,1991),作为TIP模块库的一部分使用。17.1通信API的概貌在计算系统的不同级别上可以找到通信软件和API。为了简化它们的定位,我们引入三个级别,这一点类似于人们通常把操作系统结构化为应用程序运行的用户空间与完成实际操作系统功能的核心空间(见图17-1)。17.1.1高级通信API这些API通常位于用户

3、空间,提供访问中间件(middleware)高级API用户空间(如MAPI)通信服务的编程语言。中间件软件包,如Peerlogic的Pipes、Covia的CommunicationIntegrator、Momentum的XIPC和基本级API(如Sockets)MessageExpress,提供简化在客户和远程服务器之间传递报文的高级API(Rao,1995)。其他软件包,如开放软件基金会的低级API核心空间(如NDIS)DCE(DistributedComputingEnvironment)(OSF,1

4、990)、Sunsoft的OpenNetworkingComputing(SUN,a)、ObjectManagement操作系统Group的CORBA(CommonObjectRequestBrokerArchitecture)图17-1基本通信API的重要作用(OMG,1992),提供便于进行远程过程调用式的高级通信API。除了中间件通信服务以外,也存在着为网络应用提供服务的高级通信API,如Microsoft的MAPI(messagingAPI),它为访问不同类型电子邮件系统提供一个抽象的接口。17.1

5、.2基本级通信API这些API通常位于用户和核心之间,它在用户空间或核心空间实现,或在两者中实现。这些接口通常使应用程序能访问进程间通信(InterProcessCommunication,IPC)服务、基本的网络通信服务和设备存取通信服务。流行的基本级通信API有BSDUNIXSockets(Stevens,1990)、UNIX系统V的TLI(TransportLevelInterface)(Stevens,1990),以及Microsoft的Winsock。这些API通常被加入到相关的操作系统中,对操作

6、系统具有较强的或不太强的依赖性。设计成更加独立的API有:COMMONISDNAPI(CAPIAssociation,1997)(TRE,1994);多媒体通信论坛178计计第三部分案例分析下载(MultiMediaCommunicationForum,MMCF)的传输服务接口(TransportServiceInterface,TSI)(Abeletal.,1994);进程间通信服务访问点(InterProcessCommunicationServiceAccessPoint,IPCSAP)(Schmid

7、t,1992)和Sockets++(在本章的后面介绍)。另一方面,这些API中的某些API只想成为一种单一的网络通信提供者的API,如BSDSockets是为因特网协议组的,CAPI是为ISDN的。多数流行的通信API,如BSDSockets和Winsock,是加入到一个特定的操作系统中的,或者至少是与特定的操作系统密切相关的。例如,BSDSockets中的函数是作为BSDUNIX的系统调用提供的,Winsock提供的函数要求Microsoft的Windows操作系统作为其运行环境。然而,正如TLI和IPC

8、SAP所显示的那样,这种平台依赖性很容易避免。这两者都是应用程序连接的或者包含在应用中的函数库,它为最终访问相关的服务提供者,隐蔽了与下层操作系统的执行接口。TLI通常使用UNIX的STREAMS接口,而IPCSAP是基于BSDSockets、TLI、STREAMS管理、UNIX有名管道,两者均以抽象的、面向对象的以及平台独立的方式提供给应用。基本级通信API的概况在表17-1中给出。表17-1基本级通信API概

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。