




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《計算機(jī)網(wǎng)絡(luò)編程》第八講循環(huán)服務(wù)器電子科技大學(xué)計算機(jī)學(xué)院循環(huán)服務(wù)器概述循環(huán)的無連接的服務(wù)器:Time服務(wù)器實例循環(huán)的面向連接的服務(wù)器:Daytime服務(wù)器實例目錄計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院循環(huán)服務(wù)器的類型循環(huán)無連接服務(wù)器使用無連接的循環(huán)服務(wù)器,采用算法8.2TIME服務(wù)的例子循環(huán)面向連接的服務(wù)器循環(huán)的面向連接的服務(wù)器,采用算法8.1DAYTIME服務(wù)的例子特點:每次處理時間都很少服務(wù)器實現(xiàn)簡單計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院1.循環(huán)服務(wù)器概述創(chuàng)建一個過程隱藏創(chuàng)建一個被動套接字的細(xì)節(jié)passiveUDP:本章學(xué)習(xí),使用無連接的被動套接字passiveTCP:使用面向連接的被動套接字獲得熟知的端口號,端口號的唯一性問題。使用什么協(xié)議綁定IP地址使用全局變量portbase的優(yōu)點安全性:不修改程序中引用端口的地方導(dǎo)致少發(fā)生錯誤通用性:允許測試的時候,多個服務(wù)器版本共存運(yùn)行,portbase的值不一樣,測試版本的端口不會沖突計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院創(chuàng)建被動的套接字passiveUDP調(diào)用passivesock實現(xiàn)passiveTCP調(diào)用passivesock實現(xiàn)passivesock三個參數(shù)第一個服務(wù)名,第二個協(xié)議名,第三個參數(shù)指明連接請求隊列所需要的長度(只用于TCP套接字)使用INADDR_ANY代替特定的本地IP地址getservbyname,getprotobyname,strcmp,memset,socket,bind,listen…分析passivesock.c計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院創(chuàng)建被動的套接字循環(huán)的無連接的服務(wù)器進(jìn)程結(jié)構(gòu)只需要一個執(zhí)行線程計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院2.循環(huán)無連接服務(wù)器(算法8.2)用于所有通信的熟知套接字端口服務(wù)器操作系統(tǒng)服務(wù)器應(yīng)用進(jìn)程客戶使用TIME服務(wù)從另一個系統(tǒng)得到當(dāng)前時間(前面已經(jīng)討論過)TIME服務(wù)幾乎不需要什么計算UDPtimed.cpage91頭文件include宏定義,變量定義,函數(shù)聲明main函數(shù)參數(shù)分析調(diào)用passiveUDPrecvfrom,sendto循環(huán)計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院TIME服務(wù)器舉例(注意與算法8.2對應(yīng))使用這個服務(wù)器的原因簡單服務(wù)服務(wù)器為每個請求的計算很少循環(huán)服務(wù)器是個簡單的服務(wù)器建立被動的套接字的過程TIME服務(wù)獲得系統(tǒng)時間服務(wù)使用UDP訪問編程方法計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院循環(huán)無連接服務(wù)器小結(jié)分配被動的TCP套接字調(diào)用passiveTCP實現(xiàn)帶有兩個參數(shù)第一個是字符串:服務(wù)的名字或者端口號第二個:傳入連接的請求隊列所需的長度計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院3.循環(huán)的面向連接的服務(wù)器(算法8.1)DAYTIME服務(wù):從另外機(jī)器上獲得當(dāng)前的日期和時間(前面第7章已經(jīng)談過)DAYTIME服務(wù)器不需要優(yōu)化速率獲取和格式化日期要求很少的處理用戶對此服務(wù)的需求很少循環(huán)實現(xiàn)就足夠了服務(wù)器忙的時候,其他的請求可以排隊計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院用于DAYTIME服務(wù)的服務(wù)器使用一個單執(zhí)行線程使用兩個套接字一個套接字處理請求另外一個套接字處理和客戶的通信(臨時的)計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院進(jìn)程的結(jié)構(gòu)用于連接請求的套接字服務(wù)器操作系統(tǒng)服務(wù)器應(yīng)用進(jìn)程用于單個連接的套接字TCPdaytimed.cpage96passiveTCP隱藏了很多套接字分配和綁定的細(xì)節(jié)QLEN:客戶連接請求等待隊列長度在循環(huán)中,使用accept從主套接字得到一個連接(accept完成三次握手過程)對于新的連接服務(wù)器調(diào)用過程TCPdaytimed進(jìn)行處理處理完畢繼續(xù)循環(huán),再次調(diào)用accept阻塞計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院DAYTIME服務(wù)器例子調(diào)用TCPdaytimed返回后,主程序關(guān)閉該連接的套接字調(diào)用close是從容關(guān)閉:TCP保證所有的數(shù)據(jù)可靠交付給客戶(連接終止前收到確認(rèn))close不能立刻返回,調(diào)用將會阻塞,直到收到客戶的確認(rèn)計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院關(guān)閉連接連接終止問題DAYTIME服務(wù)器知道何時應(yīng)該終止連接復(fù)雜客戶服務(wù)器系統(tǒng)的應(yīng)用,必須了解客戶什么時候是最后一個請求,客戶必須發(fā)送一個完成的信號允許客戶控制連接時間有危險誤操作的客戶可能導(dǎo)致服務(wù)器消耗掉套接字和TCP連接相關(guān)的資源客戶快速的重復(fù)的發(fā)出請求,可以把服務(wù)器的資源用光計算機(jī)網(wǎng)絡(luò)編程電子科大計算機(jī)學(xué)院連接終止和服務(wù)器的脆弱性循環(huán)的面向連接的服務(wù)器每處理一個連接循環(huán)一次連接達(dá)到以前在accept阻塞建立新的連接以后創(chuàng)建新套接字處理處理完畢,關(guān)閉,返回accept阻塞DAYTIME服務(wù)不需要客戶的請求信息,檢測到連接就響應(yīng)發(fā)送完響應(yīng),服務(wù)器主動關(guān)閉連接每個連接只發(fā)送一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TY/T 2004-2024田徑場地設(shè)施手冊
- 精神認(rèn)同課題申報書
- 教育課題申報書框架
- 浙江省教研課題申報書
- 信息技術(shù)相關(guān)課題申報書
- 小學(xué)微型課題申報書范文
- 受托噴涂加工合同范本
- 個人買賣叉車合同范本
- 漢語語言課題申報書
- 青年課題申報書模板
- DB37-T 5026-2022《居住建筑節(jié)能設(shè)計標(biāo)準(zhǔn)》
- DN900鋼管dn800E管定向鉆穿越京杭大運(yùn)河施工方案
- 全套IECQ QC080000-2017 有害物質(zhì)過程管理體系程序文件
- 冀教版三年級數(shù)學(xué)下冊《第二單元第2課時 兩位數(shù)乘兩位數(shù)(進(jìn)位)的乘法》教學(xué)課件PPT小學(xué)公開課
- 成都市入戶申請表
- 主題班會:預(yù)防流行性感冒課件
- 對外援助成套項目管理辦法(試行)
- 鐵路工程預(yù)算定額標(biāo)準(zhǔn)
- 管道吹掃、試壓檢驗批質(zhì)量驗收記錄表
- 教學(xué)教案、作業(yè)、記錄檢查記錄表
- DB33-T1091-2013《基坑工程鋼管支撐施工技術(shù)規(guī)程》
評論
0/150
提交評論