版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《計算機網(wǎng)絡編程》第八講循環(huán)服務器電子科技大學計算機學院循環(huán)服務器概述循環(huán)的無連接的服務器:Time服務器實例循環(huán)的面向連接的服務器:Daytime服務器實例目錄計算機網(wǎng)絡編程電子科大計算機學院循環(huán)服務器的類型循環(huán)無連接服務器使用無連接的循環(huán)服務器,采用算法8.2TIME服務的例子循環(huán)面向連接的服務器循環(huán)的面向連接的服務器,采用算法8.1DAYTIME服務的例子特點:每次處理時間都很少服務器實現(xiàn)簡單計算機網(wǎng)絡編程電子科大計算機學院1.循環(huán)服務器概述創(chuàng)建一個過程隱藏創(chuàng)建一個被動套接字的細節(jié)passiveUDP:本章學習,使用無連接的被動套接字passiveTCP:使用面向連接的被動套接字獲得熟知的端口號,端口號的唯一性問題。使用什么協(xié)議綁定IP地址使用全局變量portbase的優(yōu)點安全性:不修改程序中引用端口的地方導致少發(fā)生錯誤通用性:允許測試的時候,多個服務器版本共存運行,portbase的值不一樣,測試版本的端口不會沖突計算機網(wǎng)絡編程電子科大計算機學院創(chuàng)建被動的套接字passiveUDP調用passivesock實現(xiàn)passiveTCP調用passivesock實現(xiàn)passivesock三個參數(shù)第一個服務名,第二個協(xié)議名,第三個參數(shù)指明連接請求隊列所需要的長度(只用于TCP套接字)使用INADDR_ANY代替特定的本地IP地址getservbyname,getprotobyname,strcmp,memset,socket,bind,listen…分析passivesock.c計算機網(wǎng)絡編程電子科大計算機學院創(chuàng)建被動的套接字循環(huán)的無連接的服務器進程結構只需要一個執(zhí)行線程計算機網(wǎng)絡編程電子科大計算機學院2.循環(huán)無連接服務器(算法8.2)用于所有通信的熟知套接字端口服務器操作系統(tǒng)服務器應用進程客戶使用TIME服務從另一個系統(tǒng)得到當前時間(前面已經討論過)TIME服務幾乎不需要什么計算UDPtimed.cpage91頭文件include宏定義,變量定義,函數(shù)聲明main函數(shù)參數(shù)分析調用passiveUDPrecvfrom,sendto循環(huán)計算機網(wǎng)絡編程電子科大計算機學院TIME服務器舉例(注意與算法8.2對應)使用這個服務器的原因簡單服務服務器為每個請求的計算很少循環(huán)服務器是個簡單的服務器建立被動的套接字的過程TIME服務獲得系統(tǒng)時間服務使用UDP訪問編程方法計算機網(wǎng)絡編程電子科大計算機學院循環(huán)無連接服務器小結分配被動的TCP套接字調用passiveTCP實現(xiàn)帶有兩個參數(shù)第一個是字符串:服務的名字或者端口號第二個:傳入連接的請求隊列所需的長度計算機網(wǎng)絡編程電子科大計算機學院3.循環(huán)的面向連接的服務器(算法8.1)DAYTIME服務:從另外機器上獲得當前的日期和時間(前面第7章已經談過)DAYTIME服務器不需要優(yōu)化速率獲取和格式化日期要求很少的處理用戶對此服務的需求很少循環(huán)實現(xiàn)就足夠了服務器忙的時候,其他的請求可以排隊計算機網(wǎng)絡編程電子科大計算機學院用于DAYTIME服務的服務器使用一個單執(zhí)行線程使用兩個套接字一個套接字處理請求另外一個套接字處理和客戶的通信(臨時的)計算機網(wǎng)絡編程電子科大計算機學院進程的結構用于連接請求的套接字服務器操作系統(tǒng)服務器應用進程用于單個連接的套接字TCPdaytimed.cpage96passiveTCP隱藏了很多套接字分配和綁定的細節(jié)QLEN:客戶連接請求等待隊列長度在循環(huán)中,使用accept從主套接字得到一個連接(accept完成三次握手過程)對于新的連接服務器調用過程TCPdaytimed進行處理處理完畢繼續(xù)循環(huán),再次調用accept阻塞計算機網(wǎng)絡編程電子科大計算機學院DAYTIME服務器例子調用TCPdaytimed返回后,主程序關閉該連接的套接字調用close是從容關閉:TCP保證所有的數(shù)據(jù)可靠交付給客戶(連接終止前收到確認)close不能立刻返回,調用將會阻塞,直到收到客戶的確認計算機網(wǎng)絡編程電子科大計算機學院關閉連接連接終止問題DAYTIME服務器知道何時應該終止連接復雜客戶服務器系統(tǒng)的應用,必須了解客戶什么時候是最后一個請求,客戶必須發(fā)送一個完成的信號允許客戶控制連接時間有危險誤操作的客戶可能導致服務器消耗掉套接字和TCP連接相關的資源客戶快速的重復的發(fā)出請求,可以把服務器的資源用光計算機網(wǎng)絡編程電子科大計算機學院連接終止和服務器的脆弱性循環(huán)的面向連接的服務器每處理一個連接循環(huán)一次連接達到以前在accept阻塞建立新的連接以后創(chuàng)建新套接字處理處理完畢,關閉,返回accept阻塞DAYTIME服務不需要客戶的請求信息,檢測到連接就響應發(fā)送完響應,服務器主動關閉連接每個連接只發(fā)送一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024暑假企業(yè)市場推廣活動臨時促銷員合作協(xié)議3篇
- 2024新版餐飲服務人員勞動協(xié)議樣本版
- 2024擠塑板材料采購合同
- 2024校園垃圾處理與物業(yè)管理服務合同
- 2024打灰工程勞務分包協(xié)議范本一
- 2024年電力物資采購供應合同
- 2024年項目管理咨詢服務合同
- 2024年食堂承包及食品安全管理服務協(xié)議3篇
- 2024年酒店業(yè)標準采購合同模板版B版
- O2O業(yè)務合作框架合同版B版
- 0-3歲嬰幼兒基礎護理智慧樹知到期末考試答案章節(jié)答案2024年杭州師范大學
- 面包烘焙原料供應采購合同案例
- 工商企業(yè)管理畢業(yè)論文范文(篇一)
- 基于mRNA-LNP技術的(細胞)免疫治療產品開發(fā)指南
- 電動叉車充電區(qū)安全規(guī)程
- 手術室中心吸引突然停止的應急預案
- 選礦廠管理新規(guī)制度匯編
- G -B- 43630-2023 塔式和機架式服務器能效限定值及能效等級(正式版)
- 工作總結中的不足之處
- 湖南省部分地區(qū)高三下學期語文三模試題匯編:文學類文本閱讀
- 城市軌道交通安全防范系統(tǒng)技術要求
評論
0/150
提交評論