版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、客戶服務(wù)器模式與套接子1第1頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三第3.1節(jié)、客戶服務(wù)器工作模式3.1.1 C/S的基本概念3.1.2 C/S關(guān)系與軟件特點(diǎn)3.1.3 C/S工作過(guò)程與并發(fā)3.1.4 協(xié)議端口號(hào)謝希仁教材1.6 節(jié)2第2頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三C/S模式部分的重點(diǎn)與難點(diǎn)1、C/S模式的基本概念2、C/S的工作過(guò)程,以及C/S軟件的各自特點(diǎn)3、*協(xié)議端口號(hào)及應(yīng)用4、插口地址概念重點(diǎn)理解:主要了解:1、熟知的協(xié)議端口號(hào)與使用2、互聯(lián)網(wǎng)C/S工作模式與TCP/IP的關(guān)系3、服務(wù)器并發(fā)處理3第3頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分
2、,星期三相互作用的客戶-服務(wù)器( Client/Server)模型 在TCP/IP互聯(lián)網(wǎng)中,進(jìn)程間相互訪問(wèn)的模式主要是客戶服務(wù)器交互模式客戶和服務(wù)器分別是兩個(gè)應(yīng)用程序(進(jìn)程)??蛻粝蚍?wù)器發(fā)出服務(wù)請(qǐng)求,服務(wù)器做出響應(yīng)。服務(wù)器客戶互聯(lián)網(wǎng)進(jìn)程(Process)就是運(yùn)行中的程序。解決具體應(yīng)用問(wèn)題的邏輯處理和通信進(jìn)程總稱為“應(yīng)用進(jìn)程”。4第4頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三為什么選擇客戶-服務(wù)器模式第一個(gè)原因:互聯(lián)網(wǎng)中資源、運(yùn)算能力和信息不均等的現(xiàn)實(shí)。資源、運(yùn)算能力不均:小到一個(gè)物理網(wǎng)絡(luò),往往是某些主機(jī)擁有大容量的外存,某些主機(jī)只有很少外存或沒(méi)有外存,有些主機(jī)擁有打印機(jī),有些主機(jī)
3、沒(méi)有;大到整個(gè)互聯(lián)網(wǎng),少數(shù)網(wǎng)點(diǎn)擁有超速運(yùn)算能力,而大量網(wǎng)點(diǎn)由PC機(jī)構(gòu)成.信息分布不均:比如名字信息、地址信息等。這些信息往往以數(shù)據(jù)庫(kù)形式存在于少數(shù)特權(quán)主機(jī)當(dāng)中,供局部或全局訪問(wèn)。這些信息一般具有公用性,為了節(jié)約整個(gè)網(wǎng)絡(luò)的資源,沒(méi)有必要在每一臺(tái)機(jī)器上都維持一個(gè)拷貝。不均等現(xiàn)象不可避免,而客戶-服務(wù)器模式體現(xiàn)了這種現(xiàn)象并很好地適應(yīng)了這種現(xiàn)象。5第5頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三第二個(gè)原因:是技術(shù)性的。 互聯(lián)網(wǎng)進(jìn)程通信與單機(jī)進(jìn)程通信不同:互聯(lián)網(wǎng)通信完全是異步的,無(wú)法知道哪個(gè)主機(jī)會(huì)在何時(shí)發(fā)起通信。 因此,需要一種機(jī)制,為準(zhǔn)備通信的進(jìn)程之間建立聯(lián)系,為兩者的數(shù)據(jù)交換提供同步。 C
4、/S模式是客觀現(xiàn)實(shí)與技術(shù)實(shí)現(xiàn)相結(jié)合的產(chǎn)物!首先,什么是早期單機(jī)應(yīng)用軟件的工作方式?和早期單機(jī)應(yīng)用軟件一般只和本機(jī)資源交互,包括通信串/并口。當(dāng)出現(xiàn)網(wǎng)絡(luò)應(yīng)用后,應(yīng)用軟件需要通過(guò)網(wǎng)絡(luò)訪問(wèn)資源、交互信息,尋找一種基于網(wǎng)絡(luò)的信息交互/計(jì)算分布模式。6第6頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三網(wǎng)絡(luò)中計(jì)算機(jī)進(jìn)程間通信同樣存在主叫和被叫,但沒(méi)有振鈴機(jī)制。通信進(jìn)程間收/發(fā)協(xié)調(diào)怎么辦?互聯(lián)網(wǎng)采用最簡(jiǎn)單的約定方式C/S模式電話通信的呼叫模式:主叫發(fā)起通信、被叫振鈴和提機(jī)、開(kāi)始通信。振鈴機(jī)制實(shí)現(xiàn)依賴信令系統(tǒng)控制處理,協(xié)調(diào)雙方通信(收/發(fā))矛盾。在網(wǎng)絡(luò)環(huán)境下,許多問(wèn)題的解決往往是通過(guò)位于不同主機(jī)中的多
5、個(gè)進(jìn)程之間的通信和協(xié)同工作來(lái)完成的。網(wǎng)絡(luò)的進(jìn)程之間怎樣相互協(xié)同開(kāi)始工作,為什么要C/S模式?7第7頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三2000年前后,SIP協(xié)議的發(fā)展類似信令系統(tǒng)的互聯(lián)網(wǎng)會(huì)話(呼叫)系統(tǒng),可定義更豐富的會(huì)話模式。傳統(tǒng)TCP/IP網(wǎng)絡(luò)應(yīng)用程序使用客戶/服務(wù)器模式,但C/S不是所有應(yīng)用交互會(huì)話模式,如IP電話、視頻會(huì)議、多方游戲等。在客戶-服務(wù)器模式中,每次通信均由客戶進(jìn)程發(fā)起,服務(wù)器進(jìn)程從開(kāi)機(jī)起就處于等待狀態(tài)。這可保證服務(wù)器隨時(shí)對(duì)客戶請(qǐng)求做出響應(yīng)8第8頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三C/S模式是約定客戶請(qǐng)求(發(fā)起)通信、服務(wù)器響應(yīng)通信(提供
6、特定的服務(wù)),基本可以理解為請(qǐng)求/應(yīng)答的分布計(jì)算(會(huì)話)模式。互聯(lián)網(wǎng)將網(wǎng)絡(luò)軟件分為客戶(client) 、服務(wù)器(server) ,客戶和服務(wù)器都指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程。即本質(zhì)是計(jì)算機(jī)軟件。9第9頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三客戶軟件的特點(diǎn) 在進(jìn)行通信時(shí)臨時(shí)成為客戶,但它也可在本地進(jìn)行其他的計(jì)算,提供用戶端基本應(yīng)用功能框架。被用戶調(diào)用,在用戶本地計(jì)算機(jī)上運(yùn)行,在需要時(shí)主動(dòng)向遠(yuǎn)地服務(wù)器發(fā)起通信??膳c多個(gè)服務(wù)器進(jìn)行通信。通常不需要特殊的硬件和很復(fù)雜的操作系統(tǒng)。 10第10頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三服務(wù)器軟件的特點(diǎn) 專門(mén)用來(lái)提供某種服務(wù)的程序
7、,可同時(shí)處理多個(gè)遠(yuǎn)地或本地客戶的請(qǐng)求。在共享計(jì)算機(jī)上運(yùn)行。當(dāng)系統(tǒng)啟動(dòng)時(shí)即自動(dòng)調(diào)用并一直不斷地運(yùn)行著。被動(dòng)等待并接受來(lái)自多個(gè)客戶的通信請(qǐng)求。一般需要強(qiáng)大的硬件和高級(jí)的操作系統(tǒng)支持。11第11頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三兩個(gè)術(shù)語(yǔ)在C/S模式中:服務(wù)器:被動(dòng)等待通信的程序。不是計(jì)算機(jī)。服務(wù)器級(jí)計(jì)算機(jī):運(yùn)行服務(wù)器軟件的功能強(qiáng)大的計(jì)算機(jī)。硬件廠商把具有高速CPU、大容量存儲(chǔ)器、功能強(qiáng)大的操作系統(tǒng)的計(jì)算機(jī)稱為服務(wù)器,其實(shí)應(yīng)該稱為服務(wù)器級(jí)計(jì)算機(jī)。12第12頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層 發(fā)起連接建立請(qǐng)求
8、應(yīng)用層應(yīng)用層客戶服務(wù)器因特網(wǎng) 接受連接接受請(qǐng)求計(jì)算機(jī)A計(jì)算機(jī)B1 C/S 工作建立過(guò)程請(qǐng)求、應(yīng)答、數(shù)據(jù)交互,TCP/IP系統(tǒng)支持。C/S都需要TCP/IP系統(tǒng)支持C/S 工作過(guò)程和并發(fā)13第13頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三C/S模式的傳輸機(jī)制面向連接傳輸:使用面向連接的傳輸協(xié)議時(shí),兩個(gè)應(yīng)用必須首先建立一個(gè)連接,然后在該連接上發(fā)送數(shù)據(jù)。無(wú)連接傳輸:應(yīng)用可以利用無(wú)連接接口在任何時(shí)間向任何目的發(fā)送消息??蛻艉头?wù)器在通信時(shí),既可以使用面向連接傳輸協(xié)議,又可以使用無(wú)連接傳輸協(xié)議。當(dāng)使用面向連接傳輸時(shí),客戶需要首先形成一個(gè)到特定服務(wù)器的連接,該連接在客戶發(fā)送請(qǐng)求和接收響應(yīng)的過(guò)程
9、中保持不變。當(dāng)客戶完成對(duì)服務(wù)的使用時(shí),必須關(guān)閉這一連接。14第14頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三一臺(tái)計(jì)算機(jī)上可以運(yùn)行多種服務(wù)器:1. 充分利用硬件資源。硬件可以被多種服務(wù)所共享。減少系統(tǒng)管理負(fù)載。因?yàn)檫@種情況可以減少被管理 的計(jì)算機(jī)系統(tǒng)的數(shù)量。如果對(duì)服務(wù)的需求比較低,那么把服務(wù)器合并到一臺(tái) 計(jì)算機(jī)上能夠顯著地減少開(kāi)銷,而且并不會(huì)明顯地降低性能。15第15頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三2 服務(wù)器多重服務(wù):?jiǎn)斡?jì)算機(jī)可安裝多服務(wù)器軟件來(lái)提供多重服務(wù),在等待的時(shí)候不占用資源,但同時(shí)響應(yīng)需要系統(tǒng)較多資源支持?jǐn)?shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層運(yùn)輸層
10、網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層應(yīng)用層應(yīng)用層應(yīng)用層計(jì)算機(jī)A計(jì)算機(jī)B計(jì)算機(jī)C客戶1服務(wù)器1服務(wù)器2客戶2因特網(wǎng)16第16頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三并發(fā)性 客戶-服務(wù)器交互模型的基礎(chǔ)并發(fā)服務(wù)器可以同時(shí)為多個(gè)客戶提供服務(wù),并不需要每個(gè)客戶等待前一個(gè)客戶的請(qǐng)求完成大多數(shù)并發(fā)服務(wù)器都是動(dòng)態(tài)操作的。即只有當(dāng)請(qǐng)求到達(dá)時(shí),服務(wù)器才會(huì)動(dòng)態(tài)地為到來(lái)的請(qǐng)求創(chuàng)建一個(gè)新的線程。服務(wù)器程序由兩部分組成:主線程和服務(wù)線程。主線程:負(fù)責(zé)接收請(qǐng)求并為請(qǐng)求創(chuàng)建一個(gè)服務(wù)線程來(lái)處理請(qǐng)求。并使服務(wù)器保持活躍狀態(tài),主線程在創(chuàng)建處理請(qǐng)求的服務(wù)線程之后,會(huì)等待另一個(gè)請(qǐng)求的到來(lái)。服務(wù)線程:負(fù)責(zé)處理每個(gè)請(qǐng)求,然后終
11、止。如果N個(gè)客戶同時(shí)請(qǐng)求一臺(tái)計(jì)算機(jī)上的給定服務(wù),則會(huì)有N+1個(gè)線程提供服務(wù)。主線程等待額外的請(qǐng)求,N個(gè)服務(wù)線程與每個(gè)客戶進(jìn)行交互在互聯(lián)網(wǎng)中,客戶發(fā)起請(qǐng)求完全是隨機(jī)的,很有可能出現(xiàn)多個(gè)請(qǐng)求同時(shí)到達(dá)服務(wù)器的情況。17第17頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層應(yīng)用層應(yīng)用層應(yīng)用層計(jì)算機(jī)A計(jì)算機(jī)B計(jì)算機(jī)C客戶1因特網(wǎng)客戶23 服務(wù)器并發(fā):服務(wù)器1*副本一個(gè)服務(wù)器同時(shí)響應(yīng)多個(gè)請(qǐng)求,即服務(wù)器并發(fā)執(zhí)行是基本的,而不是逐個(gè)響應(yīng)。一個(gè)服務(wù)器軟件包括:接收請(qǐng)求、處理單個(gè)請(qǐng)求和生成新線程三部分;當(dāng)請(qǐng)求到達(dá)時(shí),服務(wù)器將
12、它交給一個(gè)控制線程(副本),和已有線程并發(fā)。服務(wù)器118第18頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三復(fù)雜的C/S交互:實(shí)際大型網(wǎng)絡(luò)應(yīng)用S軟件系統(tǒng)中,C/S的交互可能是復(fù)雜的過(guò)程。1、客戶應(yīng)用不限制訪問(wèn)一個(gè)服務(wù)器,客戶一個(gè)應(yīng)用可以成為多個(gè)不同服務(wù)器(可能不同計(jì)算機(jī)上)的客戶,要處理多個(gè)服務(wù)器通信。2、提供某種服務(wù)的服務(wù)器同時(shí)能成為另一個(gè)服務(wù)的客戶,如文件服務(wù)器在進(jìn)行文件服務(wù)處理時(shí)需要記錄時(shí)間,可能又要訪問(wèn)時(shí)間服務(wù)器。3、可能發(fā)生服務(wù)器的循環(huán)依懶,在兩個(gè)服務(wù)器間,或多服務(wù)器之間的依懶環(huán)。19第19頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)
13、鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層N個(gè)服務(wù)器因特網(wǎng)計(jì)算機(jī)A計(jì)算機(jī)BN個(gè)客戶協(xié)議端口號(hào)C與S之間怎樣準(zhǔn)確識(shí)別特定服務(wù)?20第20頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三一臺(tái)運(yùn)行多種服務(wù)器的計(jì)算機(jī)上,每種服務(wù)器如何識(shí)別發(fā)給自己的請(qǐng)求?解決方法: 傳輸協(xié)議為每種服務(wù)分配一個(gè)惟一的標(biāo)識(shí)符,服務(wù)器和客戶必須使用這一標(biāo)識(shí)符。服務(wù)器開(kāi)始運(yùn)行時(shí),它向本地協(xié)議軟件注冊(cè)它使用的服務(wù)標(biāo)識(shí)符??蛻粼L問(wèn)遠(yuǎn)程服務(wù)器時(shí),需要指定對(duì)應(yīng)的服務(wù)標(biāo)識(shí)符??蛻粲?jì)算機(jī)上的傳輸協(xié)議軟件在發(fā)送請(qǐng)求時(shí),向服務(wù)器計(jì)算機(jī)發(fā)送這一標(biāo)識(shí)符,服務(wù)器計(jì)算機(jī)上的傳輸協(xié)議軟件使用這一標(biāo)識(shí)符決定處理這一請(qǐng)求的服務(wù)器程序。21第21頁(yè),共64頁(yè),2022年
14、,5月20日,1點(diǎn)7分,星期三端口端口就是運(yùn)輸層服務(wù)訪問(wèn)點(diǎn) TSAP端口的作用就是讓?xiě)?yīng)用層的各種應(yīng)用進(jìn)程都能將其數(shù)據(jù)通過(guò)端口向下交付給運(yùn)輸層,以及讓運(yùn)輸層知道應(yīng)當(dāng)將其報(bào)文段中的數(shù)據(jù)向上通過(guò)端口交付給應(yīng)用層相應(yīng)的進(jìn)程。從這個(gè)意義上講,端口是用來(lái)標(biāo)志應(yīng)用層的進(jìn)程。服務(wù)器通過(guò)它明確所提供的服務(wù)22第22頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三FTPTELNETSMTPDNSTFTPSNMP TCP UDP2123255369161應(yīng)用層傳輸層端口層23第23頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三102823.源端口目的端口TELNETB目的端口號(hào)=23把包發(fā)送到我的TE
15、LNET應(yīng)用中AB24第24頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三端口 端口用一個(gè) 16 bit 端口號(hào)進(jìn)行標(biāo)志。端口號(hào)只具有本地意義,即端口號(hào)只是為了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程。在因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒(méi)有聯(lián)系的。25第25頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三兩類端口 一類是熟知端口,其數(shù)值一般為 01023。當(dāng)一種新的應(yīng)用程序出現(xiàn)時(shí),必須為它指派一個(gè)熟知端口。另一類則是一般端口,用來(lái)隨時(shí)分配給請(qǐng)求通信的客戶進(jìn)程。 26第26頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三TCP/IP定義的應(yīng)用程序熟知端口:FTP: 21, Telnet:
16、 23, SMTP: 25,DNS: 53, TFTP:69, HTTP : 80, SNMP: 161,協(xié)議端口號(hào)定義而一般端口,是可以由系統(tǒng)開(kāi)發(fā)人員隨時(shí)定義分配的。27第27頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三名稱TCP端口號(hào)TCP端口號(hào)描述EchoDiscardDaytimeChargenTime7913193779131937服務(wù)器返回客戶發(fā)送的所有內(nèi)容服務(wù)器丟棄客戶發(fā)送的所有內(nèi)容服務(wù)器以可讀形式返回日期與時(shí)間當(dāng)客戶發(fā)一個(gè)數(shù)據(jù)報(bào)時(shí),服務(wù)器發(fā)送一連續(xù)字符流,直至客戶中斷連接;UDP發(fā)一隨機(jī)長(zhǎng)度的數(shù)據(jù)報(bào)從服務(wù)器返回一個(gè)32bit數(shù),表示UTC時(shí)間1900 .1.1午夜至今
17、的秒數(shù)通常TCP/IP的主要端口號(hào):1225之間,端口號(hào)2561023由Unix系統(tǒng)占用,端口號(hào)10245000作為臨時(shí)端口分配,5000以上(作為其他服務(wù)器)不常出現(xiàn)。標(biāo)準(zhǔn)簡(jiǎn)單服務(wù)端口號(hào)28第28頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三為什么服務(wù)器端口號(hào)一定是唯一定義的,而客戶端的端口號(hào)可以是按定義的,也可以臨時(shí)自指定的,只具有本地意義? 為什么服務(wù)器端口號(hào)一定是唯一定義的,而客戶端的端口號(hào)可以是按定義的,也可以臨時(shí)指定的?答:協(xié)議端口號(hào)解決是C/S交互過(guò)程中服務(wù)器定位問(wèn)題,使所有客戶都能正確找到需要的服務(wù),所以服務(wù)器端口一定唯一確定的,而客戶源端口號(hào)只對(duì)客戶自己有效。一計(jì)算機(jī)
18、可以有多個(gè)應(yīng)用進(jìn)程,通過(guò)不同的端口號(hào)(源不同/目的相同,源同/目的不同,均不同),同時(shí)進(jìn)行多任務(wù)處理,此時(shí)TCP/UDP、IP完成復(fù)用與分用。 協(xié)議端口號(hào)解決是C/S交互過(guò)程中服務(wù)器定位問(wèn)題,使所有客戶都能正確找到需要的服務(wù),所以服務(wù)器端口一定唯一確定的,而客戶源端口號(hào)只對(duì)客戶自己有效。29第29頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三實(shí)際通過(guò)TCP應(yīng)用,除端口外,還必須有IP地址。 TCP連接的兩個(gè)端點(diǎn)(端與端通信),是由端點(diǎn)地址(IP地址,端口號(hào))確定, (IP地址,端口號(hào))也被稱為插口(Socket),或者端地址(Endpoint Address)。實(shí)際通過(guò)TCP通信,除端
19、口外,為什么必須有IP地址?30第30頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三TCP/UDP協(xié)議插口0 4 10 16 31 源端口 目的端口 TCP/UDP頭部 數(shù)據(jù)其它字段 TCP/UDP頭部 數(shù)據(jù) IP頭部32bit源地址 32bit目的地址其它字段從IP包結(jié)構(gòu)看,網(wǎng)絡(luò)應(yīng)用進(jìn)程通信需要端地址(IP地址,端口號(hào))31第31頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三第3.1 總結(jié)1、什么是C/S工作模式? 2、網(wǎng)絡(luò)應(yīng)用為什么需要C/S模式?3、 為什么通常服務(wù)器軟件復(fù)雜?4、應(yīng)用進(jìn)程通信端口地址,為什么還要IP地址?是否需要物理網(wǎng)地址?32第32頁(yè),共64頁(yè),202
20、2年,5月20日,1點(diǎn)7分,星期三第3.1章 作業(yè)1、客戶軟件和服務(wù)器軟件主要特點(diǎn)。2、一個(gè)服務(wù)器軟件通常需要包括哪些主要的功能部分。3、為什么通常服務(wù)器端口號(hào)是唯一定義的,而客戶端的端口號(hào)可以臨時(shí)指定? 33第33頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三第3.2節(jié)、應(yīng)用程序接口API3.2.1 應(yīng)用程序接口概述3.2.2 套接字API基本結(jié)構(gòu)3.2.3 實(shí)現(xiàn)套接字API的過(guò)程3.2.4 套接字API的其它問(wèn)題3.2.5 套接字API實(shí)現(xiàn)實(shí)例34第34頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三第3.2節(jié):重點(diǎn)與難點(diǎn)1、應(yīng)用編程接口的概念與重要性2、套接字API的特點(diǎn)/
21、函數(shù)/參數(shù)3、Socket套接字API實(shí)現(xiàn)的基本過(guò)程重點(diǎn)理解:主要了解:1、套接字API主要過(guò)程的作用2、套接字繼承與服務(wù)器并發(fā)35第35頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三3.2.1 應(yīng)用程序接口概述C/S模式解決了應(yīng)用程序通過(guò)互聯(lián)網(wǎng)交互方式等待/請(qǐng)求,并通過(guò)端口號(hào)來(lái)標(biāo)識(shí)服務(wù)器提供的某種服務(wù)。盡管TCP/IP 并不復(fù)雜,但應(yīng)用程序編寫(xiě)當(dāng)然不希望每次逐一填寫(xiě)TCP/IP的各個(gè)報(bào)頭;應(yīng)用程序?qū)W(wǎng)絡(luò)低層通信細(xì)節(jié)實(shí)際不想關(guān)心,所以在應(yīng)用程序和通信網(wǎng)絡(luò)之間怎樣形成標(biāo)準(zhǔn)的接口API,應(yīng)用程序只需要通過(guò)API就能完成通信和數(shù)據(jù)交互,是網(wǎng)絡(luò)應(yīng)用發(fā)展的一大進(jìn)步?;ヂ?lián)網(wǎng)應(yīng)用程序怎樣和TCP/I
22、P協(xié)議通信接口?即C、S編程怎樣使用TCP/IP協(xié)議進(jìn)行通信與數(shù)據(jù)交互。傳統(tǒng)通過(guò)網(wǎng)絡(luò)(DDN、FR、ATM)的交互,使用計(jì)算機(jī)串行接口或LAN仿真,通信網(wǎng)把數(shù)據(jù)傳遞到對(duì)方計(jì)算機(jī),其余需要計(jì)算機(jī)應(yīng)用處理。 網(wǎng)絡(luò)編程接口發(fā)展背景存在問(wèn)題:1、計(jì)算機(jī)應(yīng)用和網(wǎng)絡(luò)兩層皮;2、計(jì)算機(jī)應(yīng)用必須和底層硬件(接口)打交道;嚴(yán)重阻礙網(wǎng)絡(luò)應(yīng)用發(fā)展。36第36頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層運(yùn)輸層網(wǎng)絡(luò)層N個(gè)服務(wù)器因特網(wǎng)計(jì)算機(jī)A計(jì)算機(jī)BN個(gè)客戶應(yīng)用進(jìn)程通過(guò)端地址建立可靠雙工通信連接和收發(fā)數(shù)據(jù),應(yīng)用程序或編程人員怎樣處理各種協(xié)議(TCP/IP/IGMP)的
23、具體報(bào)格式?需要逐一包文內(nèi)容填寫(xiě)?37第37頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三實(shí)際互聯(lián)網(wǎng)應(yīng)用程序只需要通過(guò)API完成通信和數(shù)據(jù)交互的調(diào)用,從而不需要處理網(wǎng)絡(luò)的細(xì)節(jié),是網(wǎng)絡(luò)應(yīng)用發(fā)展的一大進(jìn)步。API體現(xiàn)了現(xiàn)代網(wǎng)絡(luò)又一個(gè)重要思想應(yīng)用程序與網(wǎng)絡(luò)“一體”又“分離”。一體:把網(wǎng)絡(luò)通信對(duì)上抽象API成為計(jì)算機(jī)體系組成部分,網(wǎng)絡(luò)API定義與設(shè)計(jì)已成為所有處理網(wǎng)絡(luò)應(yīng)用與網(wǎng)絡(luò)通信底層接口的實(shí)際方法,在3G/4G,NGN網(wǎng)絡(luò)中最大標(biāo)準(zhǔn)組就是解決其API的問(wèn)題。分離:實(shí)現(xiàn)高效、簡(jiǎn)捷API,就意味著實(shí)現(xiàn)應(yīng)用與網(wǎng)絡(luò)通信底層“分離”,就可不關(guān)心通信實(shí)現(xiàn)的細(xì)節(jié),大大降低了網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)難度,促進(jìn)應(yīng)用發(fā)展。
24、38第38頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三應(yīng)用程序接口API是應(yīng)用程序通過(guò)TCP/IP協(xié)議軟件進(jìn)行通信交互的接口,它是一組定義的操作(非硬件),API決定了網(wǎng)絡(luò)應(yīng)用所能達(dá)到功能和這些功能編程開(kāi)發(fā)的難度。應(yīng)用程序接口API是一般由操作系統(tǒng)(或編程系統(tǒng))提供,是由應(yīng)用程序調(diào)用的一個(gè)過(guò)程及過(guò)程所需的參數(shù)。通常一個(gè)API基本操作是獨(dú)立過(guò)程,如API一個(gè)過(guò)程完成建立通信,另一個(gè)過(guò)程完成數(shù)據(jù)接收。應(yīng)用程序接口API概念A(yù)PI:Application Program Interface,應(yīng)用程序接口或應(yīng)用編程接口39第39頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三通信協(xié)議只
25、是規(guī)定協(xié)議應(yīng)該提供的操作,并不指定應(yīng)用程序與協(xié)議進(jìn)行交互時(shí)的API。協(xié)議端口與API接口有什么區(qū)別?協(xié)議端口是服務(wù)器軟件的標(biāo)識(shí),16位整數(shù);API是一個(gè)執(zhí)行過(guò)程。40第40頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三套接字API(Socket API)互聯(lián)網(wǎng)API主要有兩類:1、伯克利版API(Socket API,稱為套接字API),從BSD Unix版發(fā)展而來(lái)。2、A&AT版TLI 運(yùn)輸層接口 Transport Lay Interface盡管互聯(lián)網(wǎng)允許OS系統(tǒng)選擇API,但目前Windows(WinSoc)、Unix、Linux主流OS系統(tǒng)廣泛接受套接字API,所以成為事實(shí)上標(biāo)
26、準(zhǔn)。套接字API是操作系統(tǒng)的一個(gè)組成部分。41第41頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三Socket API:應(yīng)用程序與TCP/IP協(xié)議之間的接口,它作為一種通用的通信編程接口而設(shè)計(jì)。42第42頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。在設(shè)計(jì)模式中,Socket其實(shí)就是一個(gè)門(mén)面模式,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面,對(duì)用戶來(lái)說(shuō),一組簡(jiǎn)單的接口就是全部,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議。43第43頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三套接字AP
27、I的基本結(jié)構(gòu)套接字API是Unix操作系統(tǒng)的發(fā)展而來(lái)的,套接字API網(wǎng)絡(luò)通信描述基本保持Unix對(duì)設(shè)備、文件的操作風(fēng)格。如 Unix文件操作采用“openreadwriteclose”過(guò)程模式,首先產(chǎn)生一個(gè)操作的描述符,然后每個(gè)過(guò)程由函數(shù)+參數(shù)具體組成。套接字API同樣用描述符的方法,在使用通信協(xié)議前必須申請(qǐng)操作系統(tǒng)生成一個(gè)套接字,系統(tǒng)返回一個(gè)小整型數(shù)(如3、5)作為描述符來(lái)識(shí)別這個(gè)套接字,以后通信過(guò)程中這個(gè)套接字作為參數(shù),而不必每次傳輸時(shí)指明細(xì)節(jié)。44第44頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三API過(guò)程中應(yīng)用程序選擇的端口、通信地址、客戶或服務(wù)器、使用協(xié)議等怎么表達(dá)呢?套接
28、字API通過(guò)定義多個(gè)函數(shù)(而不是單個(gè),為什么?),來(lái)確定參數(shù)和選項(xiàng);既當(dāng)創(chuàng)建套接字描述符后,調(diào)用多個(gè)函數(shù)過(guò)程說(shuō)明套接字使用的具體細(xì)節(jié)??偨Y(jié):套接字API的使用是通過(guò)首先創(chuàng)建套接字(返回整型描述符),然后調(diào)用多個(gè)包含具體參數(shù)和選項(xiàng)的函數(shù)過(guò)程,完成應(yīng)用程序和協(xié)議通信的接口。為什么是多個(gè)而不是單個(gè),單個(gè)絕對(duì)不行嗎?45第45頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三實(shí)現(xiàn)套接字API的過(guò)程Socket過(guò)程 該過(guò)程創(chuàng)建一個(gè)套接字并返回一個(gè)整數(shù)描述字。 descriptor=socket( protofamily, type, protocol)close過(guò)程 該過(guò)程告訴系統(tǒng)終止對(duì)套接字的使用
29、。 close( socket)bind過(guò)程 服務(wù)器使用該過(guò)程來(lái)提供服務(wù)器所使用的、用于等待連接的協(xié)議端口號(hào)。 bind( socket, localaddr, addrlen)46第46頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三listen過(guò)程 服務(wù)器調(diào)用該過(guò)程來(lái)等待來(lái)自客戶的連接。 listen( socket, queuesize)accept過(guò)程 面向連接的服務(wù)器必須調(diào)用accept過(guò)程才能接收下一個(gè)連接請(qǐng)求。 newsock=accept( socket, caddress, caddresslen)connect過(guò)程 客戶調(diào)用該過(guò)程建立與特定服務(wù)器之間的連接。 conn
30、ect( socket, saddress, saddresslen)47第47頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三send過(guò)程 如果套接字被連接,可以利用該過(guò)程發(fā)送數(shù)據(jù)。 send( socket, data, length, flags)sendto過(guò)程 和sendmsg 過(guò)程 允許客戶或服務(wù)器使用無(wú)連接套接字發(fā)送數(shù)據(jù)。 sendto( socket, data, length, flags, destaddress, addresslen) sendmsg( socket, msgstruct, flags)是一個(gè)結(jié)構(gòu),該結(jié)構(gòu)包含了關(guān)于目的地址,目的地址的長(zhǎng)度,發(fā)送的消
31、息,以及消息的長(zhǎng)度等信息。48第48頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三recv過(guò)程 應(yīng)用可以調(diào)用該過(guò)程從連接套接字中接收數(shù)據(jù)。 recv( socket, buffer, length, flags)recvfrom過(guò)程 和recvmsg過(guò)程 如果套接字并沒(méi)有被連接,應(yīng)用可以用于接收來(lái)自任意發(fā)送者的消息 recvfrom( socket, buffer, length, flags, sndraddr, saddrlen) recvmsg( socket, msgstruct, flags)是一個(gè)結(jié)構(gòu),該結(jié)構(gòu)含有接收消息的地址和發(fā)送者的IP地址。49第49頁(yè),共64頁(yè),20
32、22年,5月20日,1點(diǎn)7分,星期三實(shí)現(xiàn)套接字API的過(guò)程1、創(chuàng)建一個(gè)套接字并返回一個(gè)返回整型描述符 DescriAptor=socket(pf,type,protocol)Pf:協(xié)議棧TCP/IP/Apple Talk,type:連接/無(wú)連接, protocol:具體協(xié)議tcp/udp2、Bind過(guò)程 Bind(socket,locaaddr,addrlen)服務(wù)器使用Bind過(guò)程賦予套接字特定的端地址,實(shí)現(xiàn)socket 和端地址聯(lián)編,使用無(wú)連接協(xié)議時(shí)已準(zhǔn)備好接收信息。 Locaaddr是本地端地址的一般socket地址描述結(jié)構(gòu),TCP/IP地址和協(xié)議端口號(hào)將按socket地址結(jié)構(gòu)表達(dá)。50
33、第50頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三4、Listen過(guò)程 Listen(socket,queuesize)如服務(wù)器是面向連接的,需要使用Listen 過(guò)程將套接字設(shè)置為被動(dòng)模式,然后必須接受一個(gè)連接請(qǐng)求。Queuesize:客戶請(qǐng)求隊(duì)列的長(zhǎng)度,開(kāi)始為空。3、Close過(guò)程 close (socket)close過(guò)程的調(diào)用告訴系統(tǒng)終止對(duì)一個(gè)套接字socket的使用,系統(tǒng)對(duì)套接字進(jìn)行釋放,應(yīng)用程序與傳輸協(xié)議間停止數(shù)據(jù)交互。如果套接字在使用面向連接的傳輸時(shí),在關(guān)閉套接字前先關(guān)閉連接。51第51頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三5、Accept過(guò)程 news
34、ock=accept(caddress,caddresslen)使用面向連接通信時(shí), Accept過(guò)程在套接字中確定了連接客戶的地址,服務(wù)器通過(guò)調(diào)用Accept過(guò)程接受下一個(gè)連接。然后Accept為該連接創(chuàng)建一個(gè)新套接字newsock 返回調(diào)用者,服務(wù)器將用這個(gè)新套接字和客戶通信,直至與該客戶通信結(jié)束。caddress:按照socket地址結(jié)構(gòu)表達(dá)的客戶端IP地址。4-5步驟是面向連接通信時(shí)服務(wù)器必須的過(guò)程調(diào)用,完成被動(dòng)地接受一個(gè)連接請(qǐng)求,然后創(chuàng)建一個(gè)服務(wù)器與特定客戶TCP連接的新的套接字,依次通信,同時(shí)原套接字仍保持不變;當(dāng)該客戶連接結(jié)束后,使用原套接字接受來(lái)自下一個(gè)客戶的連接。52第52頁(yè)
35、,共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三6、客戶端Connect過(guò)程 Connect(socket,saddress,saddresslen)當(dāng)使用面向連接的TCP, Connect過(guò)程啟動(dòng)一個(gè)指定服務(wù)器的運(yùn)輸層連接,本質(zhì)上說(shuō)Connect是客戶與已經(jīng)調(diào)用了Accept過(guò)程的服務(wù)器進(jìn)行連接的過(guò)程。 saddress是按一般socket地址結(jié)構(gòu)表達(dá)的服務(wù)器IP地址和協(xié)議端口號(hào)。 非常有意思的是,當(dāng)客戶使用無(wú)連接的UDP協(xié)議時(shí),也可以使用 Connect過(guò)程,此時(shí)并不啟動(dòng)一個(gè)連接,而僅僅使得 socket與服務(wù)器端地址聯(lián)編。通常對(duì)無(wú)連接的傳輸一般每一個(gè)IP報(bào)指明目的地址,但許多應(yīng)用客戶
36、只和一個(gè)服務(wù)器通信,也即具有同樣的端目的地址。此時(shí)客戶可以通過(guò)套接字的地址記錄,發(fā)送多條信息,而不必每條指明地址。無(wú)連接傳輸?shù)腃onnect過(guò)程調(diào)用,建立連續(xù)無(wú)地址的IP包傳輸,實(shí)際上理解為客戶 程序不需要給API指明端地址,而使用API默認(rèn)地址。53第53頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三7、Send過(guò)程 send(socket,data,length,flags)當(dāng)套接字連接建立后, 客戶與服務(wù)器就需要發(fā)送信息,客戶與服務(wù)器使用Send 過(guò)程完成數(shù)據(jù)發(fā)送。data 是內(nèi)存待發(fā)數(shù)據(jù)的地址,length是數(shù)據(jù)字節(jié)數(shù) , flags 特殊選項(xiàng)位(常用于系統(tǒng)調(diào)試)。 sendt
37、o(socket,data,length,flags,destaddress,addresslen) sendto過(guò)程是客戶或服務(wù)器在未連接時(shí)發(fā)送信息, destaddress 是目的地址的socket結(jié)構(gòu)表達(dá)。 sendmgs(socket,mgsstrucct,flags) sendmgs過(guò)程完全同sendto,但定義結(jié)構(gòu)簡(jiǎn)化參數(shù)表達(dá), mgsstrucct是包括目的地址、地址長(zhǎng)度,待發(fā)信息位置和信息長(zhǎng)度的結(jié)構(gòu)表達(dá)(具體不展開(kāi))。允許客戶或服務(wù)器使用無(wú)連接套接字發(fā)送數(shù)據(jù)。54第54頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三8、Recv過(guò)程 recv(socket,buffer,
38、length,flags)當(dāng)套接字連接建立后, 客戶與服務(wù)器也同樣需要接收信息,客戶與服務(wù)器使用Recv過(guò)程完成從一個(gè)連接的套接字中接收數(shù)據(jù)。buffer 是內(nèi)存中存放接收到的數(shù)據(jù)的地址,length是緩沖區(qū)大小,flags 控制細(xì)節(jié)選項(xiàng)。 recvfrom(socket,buffer,length,flags,sndraddr,saddrlen) recvfrom過(guò)程是客戶或服務(wù)器在未連接時(shí)接收任一客戶發(fā)來(lái)的信息,同時(shí)對(duì)應(yīng)每收到的信息返回發(fā)送地址作為應(yīng)答,sndraddr是發(fā)送地址的socket結(jié)構(gòu)表達(dá)。 recvmgs(socket,mgsstrucct,flags) recvmgs過(guò)程完
39、全同recvfrom ,簡(jiǎn)化參數(shù)的表達(dá),并和 sendmgs過(guò)程對(duì)應(yīng)。mgsstrucct是一個(gè)結(jié)構(gòu),該結(jié)構(gòu)含有接收消息的地址和發(fā)送者的IP地址。55第55頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三其他套接子過(guò)程:1.getpeername過(guò)程:服務(wù)器在調(diào)用accept過(guò)程接收連接請(qǐng)求之后,可以調(diào)用該過(guò)程,以獲得啟動(dòng)連接的遠(yuǎn)程客戶的完整地址。2.gethostname過(guò)程:客戶或服務(wù)器可以調(diào)用該過(guò)程來(lái)獲取運(yùn)行該程序的計(jì)算機(jī)的信息。3.gethostbyname過(guò)程:通過(guò)計(jì)算機(jī)名字返回該計(jì)算機(jī)的IP地址??蛻艚?jīng)常使用該過(guò)程將用戶輸入的名字轉(zhuǎn)換成相應(yīng)的協(xié)議軟件所需的IP地址。4.get
40、hostbyaddr過(guò)程:給出一臺(tái)計(jì)算機(jī)的IP地址,它將返回該計(jì)算機(jī)的名字。當(dāng)要向人們顯示主機(jī)信息時(shí),客戶或服務(wù)器就可以使用該過(guò)程。 write(socket, buffer,length) read (socket, buffer,length)套接字API繼承Unix的I/O一般操作,對(duì)已建立連接的套接字,可通過(guò)write-read套接字進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸,其功能同send-recv過(guò)程。56第56頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三客戶-服務(wù)器模式的socket實(shí)現(xiàn)框架服務(wù)器Socket( )bind( )listen( )accept( )阻塞,等待客戶連接請(qǐng)求recv
41、( )處理服務(wù)請(qǐng)求send( )Socket( )connect( )send( )recv( )客戶建立連接服務(wù)請(qǐng)求服務(wù)響應(yīng)面向連接的客戶-服務(wù)器服務(wù)器必須首先啟動(dòng),直到它執(zhí)行完accept()調(diào)用,進(jìn)入等待狀態(tài)后,方能接受客戶請(qǐng)求。假如客戶先啟動(dòng),則connect()將返回出錯(cuò)代碼,連接不成功。服務(wù)器 端地址聯(lián)編創(chuàng)建套接字等待連接請(qǐng)求, 請(qǐng)求隊(duì)列長(zhǎng)度客戶地址新套接字建立連接服務(wù)器端地址獲取IP地址與定義端口57第57頁(yè),共64頁(yè),2022年,5月20日,1點(diǎn)7分,星期三套接字、并發(fā)與線程套接字API設(shè)計(jì)需要適應(yīng)服務(wù)器并發(fā),當(dāng)服務(wù)器并發(fā)創(chuàng)建一個(gè)副本時(shí),每個(gè)新創(chuàng)建的線程從創(chuàng)建的線程繼承所有套接字的一個(gè)副本,也即繼承擁有了所有套接字的訪問(wèn)權(quán)。一個(gè)并發(fā)服務(wù)器首先打開(kāi)一個(gè)
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度網(wǎng)絡(luò)安全服務(wù)協(xié)議書(shū)
- 2024年度版權(quán)使用與授權(quán)合同
- 2024供水、供電合同范文
- 2024年建筑工程股權(quán)轉(zhuǎn)讓合同樣本
- 2024城市軌道交通安檢設(shè)備采購(gòu)合同
- 文書(shū)模板-產(chǎn)品委外開(kāi)發(fā)合作協(xié)議書(shū)
- 產(chǎn)業(yè)新城課件教學(xué)課件
- 2024年度企業(yè)品牌形象設(shè)計(jì)及VI手冊(cè)整編合同
- 2024年度版權(quán)購(gòu)買與授權(quán)合同具體內(nèi)容
- 2024年廢物回收居間買賣合同
- 2024-2030年中國(guó)安胎藥市場(chǎng)運(yùn)營(yíng)態(tài)勢(shì)及未來(lái)銷售規(guī)模建議研究報(bào)告
- GB/T 44158-2024信息技術(shù)云計(jì)算面向云原生的應(yīng)用支撐平臺(tái)功能要求
- 南京市育英外國(guó)語(yǔ)學(xué)校2022-2023八年級(jí)上學(xué)期數(shù)學(xué)期初試卷及答案
- 教育培訓(xùn)掛靠合作協(xié)議
- 《BIQS基礎(chǔ)培訓(xùn)》課件
- 【淺析PLC在數(shù)控機(jī)床中的應(yīng)用5000字(論文)】
- 企業(yè)經(jīng)營(yíng)模擬實(shí)訓(xùn)智慧樹(shù)知到期末考試答案章節(jié)答案2024年華南農(nóng)業(yè)大學(xué)
- 家長(zhǎng)會(huì)課件:主題班會(huì)高二家長(zhǎng)會(huì)課件
- 市政設(shè)施維護(hù)方案
- 建筑防水工程技術(shù)規(guī)程DBJ-T 15-19-2020
- 大學(xué)會(huì)計(jì)生涯發(fā)展展示
評(píng)論
0/150
提交評(píng)論