- 相關(guān)推薦
UNIX網(wǎng)絡(luò)的服務(wù)器程序設(shè)計方法
UNIX網(wǎng)絡(luò)的服務(wù)器程序設(shè)計方法
(劉凱 劉春旭,四川大學(xué)計算機(jī)學(xué)院)
摘要:介紹了幾種網(wǎng)絡(luò)操作模式和UNIX下基于TCP/IP協(xié)議的網(wǎng)絡(luò)客戶/服務(wù)器模式的程序架構(gòu)。重點對客戶/服務(wù)器模式中服務(wù)器程序的幾種設(shè)計方法進(jìn)行了討論。
關(guān)鍵詞:客戶/服務(wù)器,Socket,進(jìn)程,并發(fā)服務(wù)器
1.引言
1.1幾種網(wǎng)絡(luò)模式的介紹
對等網(wǎng)絡(luò)(Peer-to-Peer)模式不需要專用服務(wù)器,每一臺工作站都能充當(dāng)網(wǎng)絡(luò)服務(wù)的請求者和提供者,都有絕對自主權(quán),也可以互相交換文件。這種類型的網(wǎng)絡(luò)軟件被設(shè)計成每一個實體都能完成相同或相似的功能。
服務(wù)器(Server-Based)模式以服務(wù)器為中心,嚴(yán)格地定義了每一個實體的工作角色,即網(wǎng)絡(luò)上的工作站無法在彼此間直接進(jìn)行文件傳輸,需通過服務(wù)器作為媒介,所有的文件讀取,消息傳送等也都在服務(wù)器的掌握之中。
客戶/服務(wù)器(
Client/Server)模式(有時也稱為主從式Master/Slave)指將需要處理的工作分配給客戶端和服務(wù)器端處理,所謂的客戶和服務(wù)器并沒有一定的界限,這取決于運行什么軟件,簡單的講,客戶是提出服務(wù)請求的一方,而服務(wù)器是提供服務(wù)的一方。在客戶/服務(wù)器模式中服務(wù)器端所提供的功能不僅僅是文件、數(shù)據(jù)庫等服務(wù),還應(yīng)當(dāng)有相應(yīng)的計算、通信等能力——也就是說在工作時由客戶端和服務(wù)器端各自負(fù)擔(dān)一部分計算或通信的功能。客戶/服務(wù)器模式已經(jīng)成為計算機(jī)網(wǎng)絡(luò)互連中最重要的應(yīng)用技術(shù)之一,它把一個大型的計算機(jī)應(yīng)用系統(tǒng)變?yōu)槎鄠能互為獨立的子系統(tǒng),而服務(wù)器便是整個應(yīng)用系統(tǒng)資源的存儲與管理中心,多臺客戶機(jī)則各自處理相應(yīng)的功能,共同實現(xiàn)完整的應(yīng)用。
瀏覽器/服務(wù)器(Browser/Server)模式從本質(zhì)上將,仍然是客戶/服務(wù)器模式(是客戶/服務(wù)器模式的特例)。只不過在某些應(yīng)用方面,如數(shù)據(jù)庫服務(wù),它將傳統(tǒng)的二層客戶/服務(wù)器結(jié)構(gòu)發(fā)展成三層的客戶/服務(wù)器結(jié)構(gòu)并在Internet上應(yīng)用而已。
在上述幾種模式中,客戶/服務(wù)器模式具有靈活多變的體系結(jié)構(gòu)、豐富的開發(fā)環(huán)境和強(qiáng)大的設(shè)備驅(qū)動能力。
1.2本文所采用的網(wǎng)絡(luò)應(yīng)用程序編程接口
網(wǎng)絡(luò)程序之間進(jìn)行通訊,必須建立在一定的通訊協(xié)議基礎(chǔ)之上。對于UNIX下的應(yīng)用程序,可用的協(xié)議有TCP/IP的傳輸控制協(xié)議TCP(
Transmission Control Protocol)和用戶數(shù)據(jù)報協(xié)議UDP(User Datagram Protocol),XNS(Xerox Network System)的定序分組協(xié)議SPP(Sequential Pocket Protocol)和網(wǎng)際數(shù)據(jù)報協(xié)議IDP(Internetwork Datagram Protocol)以及ARPANET的接口報文處理機(jī)鏈路IMPLINK(Interface Message Processor Link)等。因為Internet的普及,使得TCP/IP成為使用最廣泛的協(xié)議。
UNIX
下基于TCP/IP協(xié)議的網(wǎng)絡(luò)應(yīng)用程序編程接口API(Application Programming Interface)有兩種:源自BSD UNIX的Socket API和AT&T的傳輸層接口TLI(Transport Layer Interface)的超集——X/Open傳輸接口XTI(X/Open Transport Interface)。這兩種API都是面向客戶/服務(wù)器模式的。由于Socket API已經(jīng)成為事實上的標(biāo)準(zhǔn),因此本文在介紹服務(wù)器端程序的設(shè)計方法時也采用Socket API
。
【UNIX網(wǎng)絡(luò)的服務(wù)器程序設(shè)計方法】相關(guān)文章:
NetWare與UNIX的互聯(lián)方法與實現(xiàn)08-06
微機(jī)UNIX直接視頻圖形程序設(shè)計08-06
設(shè)備服務(wù)器的網(wǎng)絡(luò)安全08-12
基于DSP的網(wǎng)絡(luò)通信程序設(shè)計08-06
基于 DSP 的網(wǎng)絡(luò)通信程序設(shè)計08-06
服務(wù)器集群技術(shù)及其在視頻網(wǎng)絡(luò)中的應(yīng)用08-06
網(wǎng)絡(luò)程序設(shè)計課程教學(xué)改革探索08-04