


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、網(wǎng)絡(luò)編程實(shí)習(xí)報(bào)告范文 實(shí)習(xí)目的 通過(guò)理論聯(lián)系實(shí)際,鞏固所學(xué)的知識(shí),提高處理實(shí)際問(wèn)題的能力,并為自己 能順利與社會(huì)環(huán)境接軌做準(zhǔn)備。 實(shí)習(xí)任務(wù) linu 絡(luò)服務(wù)器開(kāi)發(fā);本文總結(jié)了我對(duì) linu 絡(luò)服務(wù)器模型的認(rèn)識(shí)。 實(shí)習(xí)內(nèi)容 一.循環(huán)服務(wù)器 1.循環(huán)服務(wù)器在同一個(gè)時(shí) 刻只可以響應(yīng)一個(gè)客戶端的請(qǐng)求,對(duì)多個(gè)客戶程序的處理是采用循環(huán)的方式進(jìn) 行; 2. udp 循環(huán)服務(wù)器的實(shí)現(xiàn)非常簡(jiǎn)單 :udp 服務(wù)器每次從套接字上讀取一個(gè) 客戶端的請(qǐng)求 , 處理 , 然后將結(jié)果返回給客戶機(jī); 2.1. 算法如下: socket(.);bind(.);while(1)recvfrom(.);process(.);sen
2、dto(.);3. tcp 循環(huán)服務(wù)器的實(shí)現(xiàn)也不難 :tcp 服務(wù)器接受一個(gè)客戶端的連接 , 然后 處理,完成了這個(gè)客戶的所有請(qǐng)求后 ,斷開(kāi)連接; 3.1. 算法如下 :socket(.);bind(.);listen(.);while(1)accept(.);while(1)read(.);process(.);write(.);close(.);3.2. tcp 循環(huán)服務(wù)器一次只能處理一個(gè)客戶端的請(qǐng)求 . 只有在這個(gè)客戶的 所有請(qǐng)求都滿足后 , 服務(wù)器才可以繼續(xù)后面的請(qǐng)求 . 這樣如果有一個(gè)客戶端占住 服務(wù)器不放時(shí),其它的客戶機(jī)都不能工作了因此,tcp服務(wù)器一般很少用循環(huán)服務(wù)器模型的 .二
3、. 并發(fā)服務(wù)器 1. 為了彌補(bǔ)循環(huán) tcp 服務(wù)器的缺陷 ,人們又想出了 并發(fā)服務(wù)器的模型。 并發(fā)服務(wù)器的思想是每一個(gè)客戶機(jī)的請(qǐng)求并不由服務(wù)器直 接處理,而是服務(wù)器創(chuàng)建一個(gè) 子進(jìn)程來(lái)處理; 2.使用并發(fā)服務(wù)器可以使服務(wù)器進(jìn) 程在同一個(gè)時(shí)刻有多個(gè)子進(jìn)程和不同的客戶程序連接、通信;在客戶程序看來(lái), 服務(wù)器可以同時(shí)并發(fā)地處理多個(gè)客戶的請(qǐng)求; 3. 算法如下: socket(.);bind(.);listen(.);while(1)accept(.);if(fork(.)=0)close(.);while(1)read(.);process(.);write(.);close(.);exit(.);c
4、lose(.); 4. tcp 并發(fā)服務(wù)器可以解決 tcp 循環(huán)服務(wù)器客戶機(jī)獨(dú)占服務(wù)器的情 況,改善了對(duì)客戶程序的響應(yīng)速度; 不過(guò)也同時(shí)帶來(lái)了一個(gè)不小的問(wèn)題:為了 響應(yīng)客戶機(jī)的請(qǐng)求 , 服務(wù)器要?jiǎng)?chuàng)建子進(jìn)程來(lái)處理, 而創(chuàng)建子進(jìn)程是一種非常消耗 資源的操作,這明顯增加了系統(tǒng)調(diào)度的開(kāi)銷; 5. 為了解決創(chuàng)建子進(jìn)程帶來(lái)的系 統(tǒng)資源消耗 , 人們又想出了多路復(fù)用 i/o 模型 .5.1. 該模型一般用函數(shù) select 和相 關(guān)的四個(gè)宏定義:ds,structtimeval*timeout)voidfd_set(intfd,fd_set*fdset)voidfd_clr(intfd,fd_set*fds
5、et)voidfd_zero(fd_set *fdset)intfd_isset(intfd,fd_set*fdset)5.2.一般的來(lái)說(shuō)當(dāng)我們?cè)谙蛭募x寫時(shí),進(jìn)程有可能在讀寫時(shí)候阻塞 , 直到一定的條件滿足 . 比如我們從一個(gè)套接 字讀數(shù)據(jù)時(shí) , 可能緩沖區(qū)里面沒(méi)有數(shù)據(jù)可讀 ( 通信的對(duì)方還沒(méi)有 發(fā)送數(shù)據(jù)過(guò)來(lái) ), 這個(gè)時(shí)候我們的讀調(diào)用就會(huì)等待 (阻塞)直到有數(shù)據(jù)可讀 .如果我們不 希望阻塞 , 我們的一個(gè)選擇是把 socket 設(shè)置為非阻塞模式來(lái)實(shí)現(xiàn); int socketfd;socketfd=socket(af_inet,sock_stream,0);fcntl(socketfd,f_s etfl,o_nonblock); 通過(guò)設(shè)置 socket 為非阻塞模式,可以實(shí)現(xiàn)“輪循”多個(gè) socket ,當(dāng)企圖從一個(gè)沒(méi)有數(shù)據(jù)等待處理的非阻塞 socket 讀取數(shù)據(jù)時(shí),函數(shù)立即 返回,但是這種“輪循”會(huì)使 cpu 處于忙等待方式,降低了性能, select 函數(shù)解 決了這個(gè)問(wèn)題; 5.3. 在我們調(diào)用 select 時(shí)進(jìn)程會(huì)一直阻塞直到以下的一種情況 發(fā)生. 1) 有文件可以讀 .2) 有文件可以寫 .3) 超時(shí)所設(shè)置的時(shí)間到; 5.4. 算法如 下:初始化 (socket,bind,listen年護(hù)理實(shí)習(xí)報(bào)告范文精選大學(xué)生施工實(shí)習(xí)報(bào)告范文2018 寒假土木實(shí)習(xí)報(bào)告年有關(guān)大學(xué)生社
溫馨提示
- 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年小語(yǔ)種考試的真題解析及試題及答案
- 2025年銀行從業(yè)資格證新穎試題及答案
- 小語(yǔ)種證書(shū)備考指南試題及答案全集
- 模具畜牧師考試糾錯(cuò)試題及答案集合
- 2025年特許金融分析師考試角色分析試題及答案
- 社會(huì)資本的重要性與投資關(guān)系試題及答案
- 2025年特許金融分析師考試復(fù)習(xí)試題及答案
- 2024年網(wǎng)絡(luò)編輯師隱私保護(hù)試題及答案
- 2024年小語(yǔ)種考試熱詞匯試題及答案
- 網(wǎng)絡(luò)編輯師證書(shū)考試實(shí)戰(zhàn)試題及答案
- 幼小銜接 每日一練
- 電纜敷設(shè)施工質(zhì)量控制案例分享
- 健身減肥訓(xùn)練營(yíng)計(jì)劃方案
- 教科版五年級(jí)下冊(cè)科學(xué)第三單元《環(huán)境與我們》單元測(cè)試卷(含答案)
- 教師數(shù)字素養(yǎng)及其培育路徑研究基于歐盟七個(gè)教師數(shù)字素養(yǎng)框架的比較分析
- 江蘇省2023-2024學(xué)年三年級(jí)下學(xué)期期中綜合調(diào)研數(shù)學(xué)試卷(蘇教版)
- 互聯(lián)網(wǎng)診療管理辦法
- 醫(yī)院總務(wù)科的工作總結(jié)
- 手衛(wèi)生與多重耐藥菌的消毒隔離護(hù)理課件
- 《生物醫(yī)學(xué)工程導(dǎo)論》課件
- 七年級(jí)語(yǔ)文下冊(cè)期中試卷含答案【部編版】
評(píng)論
0/150
提交評(píng)論