客戶-服務(wù)器交互模型_第1頁(yè)
客戶-服務(wù)器交互模型_第2頁(yè)
客戶-服務(wù)器交互模型_第3頁(yè)
客戶-服務(wù)器交互模型_第4頁(yè)
客戶-服務(wù)器交互模型_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、客戶-服務(wù)器交互模型第第11章:客戶服務(wù)器交互模型章:客戶服務(wù)器交互模型l客戶服務(wù)器交互模型的概念;l客戶程序和服務(wù)器程序的一般特點(diǎn);l實(shí)現(xiàn)客戶服務(wù)器模型需要解決的主要問(wèn)題。學(xué)習(xí)引入:學(xué)習(xí)引入:l本部分的章節(jié)著重于互聯(lián)網(wǎng)上的高級(jí)服務(wù),以及提供這些服務(wù)的應(yīng)用軟件。l互聯(lián)網(wǎng)提供的功能:互聯(lián)網(wǎng)提供一個(gè)通用的通信構(gòu)架,并不指明提供哪些服務(wù),由哪些計(jì)算機(jī)來(lái)運(yùn)行這些服務(wù),如何確定服務(wù)的存在,以及如何使用這些服務(wù)這些問(wèn)題都留給了應(yīng)用軟件和用戶。l 雖然互聯(lián)網(wǎng)系統(tǒng)提供基礎(chǔ)的通信服務(wù),但協(xié)議軟件并不能啟動(dòng)與一臺(tái)遠(yuǎn)程計(jì)算機(jī)的通信,也不能接受一臺(tái)遠(yuǎn)程計(jì)算機(jī)的通信。相反,通信中必須有兩個(gè)應(yīng)用程序參加:一個(gè)啟動(dòng)通信,另

2、一個(gè)接受通信。建立通信l雖然互聯(lián)網(wǎng)通信與 撥號(hào)有相似之處,但兩個(gè)應(yīng)用使用互聯(lián)網(wǎng)的方式與兩個(gè)人使用 系統(tǒng)的方式仍有一個(gè)重要的區(qū)別。這個(gè)區(qū)別在于協(xié)議軟件沒有一個(gè)相當(dāng)于 鈴的機(jī)制協(xié)議軟件無(wú)法通知應(yīng)用通信的到達(dá),應(yīng)用也無(wú)法確認(rèn)接受任何收到的信息。應(yīng)用程序通信的解決策略:應(yīng)用程序通信的解決策略:l希望通信的應(yīng)用必須在外部資源試圖通信之前先與協(xié)議軟件進(jìn)行交互。應(yīng)用通知本地協(xié)議軟件希望得到一個(gè)特定類型的信息,然后等待。當(dāng)收到 的信息恰好與應(yīng)用所指定的相符時(shí),協(xié)議軟件將其傳給應(yīng)用。當(dāng)然,一個(gè)通信所涉及的兩個(gè)應(yīng) 用不能都在等待信息到達(dá)一個(gè)應(yīng)用必須主動(dòng)地啟動(dòng)交互,另一個(gè)則被動(dòng)地等待??蛻舴?wù)器模式指兩個(gè)應(yīng)用程序,

3、客戶向服務(wù)器發(fā)出請(qǐng)求,服務(wù)器作出響應(yīng)。l服務(wù)器處于守候狀態(tài),并監(jiān)視客戶端的請(qǐng)求l客戶端提出請(qǐng)求從而啟動(dòng)通信l服務(wù)器接收請(qǐng)求,將執(zhí)行請(qǐng)求的任務(wù),并把結(jié)果返回給客戶客戶服務(wù)器模式示意圖 請(qǐng)求 響應(yīng)客戶傳輸層互聯(lián)層網(wǎng)絡(luò)接口層 響應(yīng) 請(qǐng)求傳輸層服務(wù)器互聯(lián)層網(wǎng)絡(luò)接口層互聯(lián)網(wǎng)客戶與服務(wù)器的特性客戶端l是一個(gè)在需要進(jìn)行遠(yuǎn)程訪問(wèn)時(shí)臨時(shí)成為客戶,同時(shí)也做其他的本地計(jì)算的應(yīng)用程序。l 直接被用戶調(diào)用,只為一個(gè)會(huì)話運(yùn)行。l 在用戶的個(gè)人計(jì)算機(jī)上本地運(yùn)行。l 主動(dòng)地啟動(dòng)與服務(wù)器的通信。l能訪問(wèn)所需的多種服務(wù),但在某一時(shí)刻只能與一個(gè)遠(yuǎn)程服務(wù)器進(jìn)行主動(dòng)通信。l不需要特殊的硬件和高級(jí)的操作系統(tǒng)??蛻襞c服務(wù)器的特性服務(wù)器端軟

4、件l是一個(gè)用來(lái)提供某個(gè)服務(wù)的有特殊權(quán)限的專用程序,可以同時(shí)處理多個(gè)遠(yuǎn)程客戶請(qǐng)求。l在系統(tǒng)啟動(dòng)時(shí)自動(dòng)調(diào)用,不斷地為多個(gè)會(huì)話服務(wù)。l在一臺(tái)共享計(jì)算機(jī)上運(yùn)行(即,不是在用戶的個(gè)人計(jì)算機(jī)上)。l被動(dòng)地等待來(lái)自遠(yuǎn)端客戶的通信l 接受來(lái)自任何客戶的通信請(qǐng)求,但只提供一種服務(wù)。l需要強(qiáng)大的硬件和高級(jí)的操作系統(tǒng)支持。服務(wù)器程序與服務(wù)器類計(jì)算機(jī)l對(duì)服務(wù)器這個(gè)術(shù)語(yǔ)有時(shí)會(huì)產(chǎn)生一些混淆。通常地,這個(gè)術(shù)語(yǔ)指一個(gè)被動(dòng)地等待通信的程序,而不是運(yùn)行它的計(jì)算機(jī)。然而,當(dāng)一臺(tái)計(jì)算機(jī)被用來(lái)運(yùn)行一個(gè)或幾個(gè)服務(wù)器程序時(shí),這臺(tái)計(jì)算機(jī)本身有時(shí)也被(不正確地)稱作服務(wù)器。硬件供應(yīng)商加深了這種混淆,因?yàn)樗麄儗⒛穷惥哂锌焖貱 P U、大容量存儲(chǔ)

5、器和強(qiáng)大操作系統(tǒng)的計(jì)算機(jī)稱為服務(wù)器。請(qǐng)求、應(yīng)答與數(shù)據(jù)流向l信息在客戶與服務(wù)器之間沿任一方向或兩個(gè)方向傳遞。雖然許多服務(wù)安排成客戶發(fā)送一個(gè)或多個(gè)請(qǐng)求而服務(wù)器返回應(yīng)答的方式,但其他的交互也是可能的。傳輸協(xié)議與客戶服務(wù)器交互 客戶與服務(wù)器的交互直接通過(guò)傳輸協(xié)議建立通信并收發(fā)信息。傳輸協(xié)議接著使用更低層的協(xié)議來(lái)收發(fā)自己的信息。因此,一臺(tái)計(jì)算機(jī)不論是用來(lái)運(yùn)行客戶程序還是服務(wù)器程序都需要一個(gè)完整的協(xié)議棧。一臺(tái)計(jì)算機(jī)上的多種服務(wù)一臺(tái)服務(wù)器類計(jì)算機(jī)能夠同時(shí)提供多種服務(wù),每種服務(wù)需要一個(gè)獨(dú)立的服務(wù)器程序。在一臺(tái)計(jì)算機(jī)上運(yùn)行多種服務(wù)是實(shí)際可行的,因?yàn)榉?wù)器在等待請(qǐng)求到來(lái)時(shí)是不占用計(jì)算資源的。服務(wù)器要求:服務(wù)器要求

6、:l一套足夠強(qiáng)大的計(jì)算機(jī)系統(tǒng)能夠同時(shí)運(yùn)行多個(gè)客戶與服務(wù)器,這樣就需要在兩方面具有足夠的能力。l計(jì)算機(jī)必須具有足夠的硬件資源(例如一個(gè)快速的處理器和足夠的存儲(chǔ)器)l有允許多個(gè)應(yīng)用程序并發(fā)執(zhí)行的操作系統(tǒng)(例如U N I X或Windows 200 server)。在這樣的系統(tǒng)上,對(duì)應(yīng)每種提供的服務(wù)有一個(gè)服務(wù)器程序在運(yùn)行。C/S實(shí)現(xiàn)中需要解決的主要問(wèn)題:實(shí)現(xiàn)中需要解決的主要問(wèn)題:l標(biāo)志一個(gè)特定的服務(wù)。l響應(yīng)并發(fā)請(qǐng)求。l服務(wù)器程序的安全問(wèn)題。標(biāo)志一個(gè)特定的服務(wù)標(biāo)志一個(gè)特定的服務(wù)l傳輸協(xié)議提供的一套機(jī)制能讓客戶無(wú)二義性地指明所希望的服務(wù)。這種機(jī)制賦給每個(gè)服務(wù)一個(gè)唯一的標(biāo)識(shí),并要求服務(wù)器和客戶都使用這個(gè)標(biāo)

7、識(shí)。l在TCP/IP互聯(lián)網(wǎng)中,服務(wù)器程序通常使用TCP協(xié)議或UDP協(xié)議的端口號(hào)作為自己的特定標(biāo)志。響應(yīng)并發(fā)請(qǐng)求響應(yīng)并發(fā)請(qǐng)求l具有一個(gè)以上控制線程(有些系統(tǒng)使用術(shù)語(yǔ)進(jìn)程或任務(wù)來(lái)表示控制線程) 的程序稱為并發(fā)(并發(fā)(c o n c u r r e n t)程序)程序。l并發(fā)性是客戶服務(wù)器交互模式的基礎(chǔ),因?yàn)橐粋€(gè)并發(fā)服務(wù)器同時(shí)為多個(gè)客戶提供服務(wù),而不要求每個(gè)客戶等待服務(wù)器對(duì)前一個(gè)客戶的服務(wù)結(jié)束。解決方案:解決方案:l重復(fù)服務(wù)器方案:使用請(qǐng)求隊(duì)列。一般用于處理可在預(yù)期時(shí)間內(nèi)處理完的請(qǐng)求,針對(duì)于面向無(wú)連接的客戶-服務(wù)器模型。l并發(fā)服務(wù)器方案:使用守護(hù)進(jìn)程,為每一個(gè)客戶請(qǐng)求創(chuàng)建子進(jìn)程,由子進(jìn)程響應(yīng)請(qǐng)求。一

8、般用于處理不可在預(yù)期時(shí)間內(nèi)處理完的請(qǐng)求,針對(duì)于面向連接的客戶-服務(wù)器模型。服務(wù)器程序的安全問(wèn)題服務(wù)器程序的安全問(wèn)題l服務(wù)器程序具有相當(dāng)高的特權(quán)l(xiāng)操作系統(tǒng)對(duì)服務(wù)器程序試圖訪問(wèn)的用戶文件通常不加限制。套接字接口l利用操作系統(tǒng)提供的編程界面開發(fā)應(yīng)用程序,實(shí)現(xiàn)與操作系統(tǒng)內(nèi)核的操作lTCP/IP提供的典型編程界面為socket調(diào)用以Winsock控件方式出現(xiàn)lWinsock控件簡(jiǎn)介編程人員通過(guò)該控件訪問(wèn)TCP和UDP網(wǎng)絡(luò)服務(wù),通過(guò)設(shè)置控件的屬性和調(diào)用方法來(lái)實(shí)現(xiàn)主機(jī)之間利用TCP通信-有連接的服務(wù)l客戶程序設(shè)置控件的RemoteHost屬性和RemotePort屬性,并調(diào)用Connect方法l服務(wù)器程序設(shè)置LocalPort屬性,然后調(diào)用Listen方法l當(dāng)客戶請(qǐng)求建立連接時(shí),服務(wù)器程序產(chǎn)生ConnectionRequest事件,而服務(wù)器需要在事件中調(diào)用Accept方法完成連接的建立l調(diào)用SendData方法發(fā)送數(shù)據(jù),而當(dāng)接收到對(duì)方的數(shù)據(jù)時(shí),將產(chǎn)生DataArrival事件,利用GetData方法獲取收到的數(shù)據(jù)主機(jī)之間利用UDP通信-非連接服務(wù)l客戶機(jī)程序設(shè)置好RemoteHost屬性和RemotePor

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論