UNIX网络的服务器程序设计方法

UNIX网络的服务器程序设计方法

ID:45497126

大小:59.50 KB

页数:11页

时间:2019-11-13

UNIX网络的服务器程序设计方法_第1页
UNIX网络的服务器程序设计方法_第2页
UNIX网络的服务器程序设计方法_第3页
UNIX网络的服务器程序设计方法_第4页
UNIX网络的服务器程序设计方法_第5页
资源描述:

《UNIX网络的服务器程序设计方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、UNIX网络的服务器程序设计方法(刘凯刘春旭,四川大学计算机学院)摘要:介绍了几种网络操作模式和UNIX下基于TCP/IP协议的网络客户/服务器模式的程序架构。重点对客户/服务器模式中服务器程序的几种设计方法进行了讨论。关键词:客户/服务器,Socket,进程,并发服务器1.引言1.1几种网络模式的介绍对等网络(Peer-to-Peer)模式不需要专用服务器,每一台工作站都能充当网络服务的请求者和提供者,都有绝对自主权,也可以互相交换文件。这种类型的网络软件被设计成每一个实体都能完成相同或相似的功能。服务器(Server-Based)模式

2、以服务器为中心,严格地定义了每一个实体的工作角色,即网络上的工作站无法在彼此间直接进行文件传输,需通过服务器作为媒介,所有的文件读取,消息传送等也都在服务器的掌握之中。客户/服务器(Client/Server)模式(有时也称为主从式Master/Slave)指将需要处理的工作分配给客户端和服务器端处理,所谓的客户和服务器并没有一定的界限,这取决于运行什么软件,简单的讲,客户是提出服务请求的一方,而服务器是提供服务的一方。在客户/服务器模式中服务器端所提供的功能不仅仅是文件、数据库等服务,还应当有相应的计算、通信等能力——也就是说在工作时由

3、客户端和服务器端各自负担一部分计算或通信的功能。客户/服务器模式已经成为计算机网络互连中最重要的应用技术之一,它把一个大型的计算机应用系统变为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。浏览器/服务器(Browser/Server)模式从本质上将,仍然是客户/服务器模式(是客户/服务器模式的特例)。只不过在某些应用方面,如数据库服务,它将传统的二层客户/服务器结构发展成三层的客户/服务器结构并在Internet上应用而已。在上述几种模式中,客户/服务器模式具有灵

4、活多变的体系结构、丰富的开发环境和强大的设备驱动能力。1.2本文所采用的网络应用程序编程接口网络程序之间进行通讯,必须建立在一定的通讯协议基础之上。对于UNIX下的应用程序,可用的协议有TCP/IP的传输控制协议TCP(TransmissionControlProtocol)和用户数据报协议UDP(UserDatagramProtocol),XNS(XeroxNetworkSystem)的定序分组协议SPP(SequentialPocketProtocol)和网际数据报协议IDP(InternetworkDatagramProtocol)

5、以及ARPANET的接口报文处理机链路IMPLINK(InterfaceMessageProcessorLink)等。因为Internet的普及,使得TCP/IP成为使用最广泛的协议。UNIX下基于TCP/IP协议的网络应用程序编程接口API(ApplicationProgrammingInterface)有两种:源自BSDUNIX的SocketAPI和AT&T的传输层接口TLI(TransportLayerInterface)的超集——X/Open传输接口XTI(X/OpenTransportInterface)。这两种API都是面向客

6、户/服务器模式的。由于SocketAPI已经成为事实上的标准,因此本文在介绍服务器端程序的设计方法时也采用SocketAPI。2.客户/服务器模式的Socket实现框架2.1TCP/IPSocket的基本原理。TCP/IP对外提供的只是编程接口而非用户服务,真正的用户服务还得靠编写相应的服务程序来实现。TCP/IP的SocketAPI编程接口构成了使用协议的网络应用程序视图。服务程序客户程序SocketAPITCP/IP协议物理介质图1.网络应用程序、SocketAPI和TCP/IP的关系SocketAPI在BSDUNIX中首次提出,其目

7、的是为了解决网络间程序通讯的问题。就其原理而言,面向连接的Socket类似于电话系统,无连接的Socket类似于电报系统。Socket实质上是为网络程序提供了通讯的端点号。对于每个网络程序的一个Socket,它首先有一个半相关的端点号的描述:{协议,本地地址,本地端口},如果它是与另一个Socket连接了的,则有一个相关的端点描述:{协议,本地地址,本地端口,远程地址,远程端口}。每个Socket有一个本地唯一的由操作系统分配的编号。2.2Socket的系统调用Socket是面向客户/服务器模式设计的,它针对客户和服务器程序提供了不同的系

8、统调用。同时它还分为面向连接和无连接两种类型。下表列出了SocketAPI的基本函数(这里就不对调用参数进行说明了)。表1基本的Socket系统调用函数名用途使用者相关协议说明socket建立

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

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

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