版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
TCP方式中服務(wù)器端支持多個(gè)客戶端2學(xué)習(xí)目標(biāo)知識(shí)目標(biāo)掌握服務(wù)器端支持多個(gè)客戶端同時(shí)工作的原理01能力目標(biāo)能夠運(yùn)用ServerSocket和Socket類實(shí)現(xiàn)服務(wù)器支持多個(gè)客戶端工作023如何支持多個(gè)客戶端同時(shí)工作?
前面介紹的服務(wù)器端程序,只是實(shí)現(xiàn)了概念上的服務(wù)器端,離實(shí)際的服務(wù)器端程序結(jié)構(gòu)距離還很遙遠(yuǎn),如果需要讓服務(wù)器端能夠?qū)嶋H使用,那么最需要解決的問題就是——如何支持多個(gè)客戶端同時(shí)工作。
一個(gè)服務(wù)器端一般都需要同時(shí)為多個(gè)客戶端提供通訊,如果需要同時(shí)支持多個(gè)客戶端,則必須使用前面介紹的線程的概念。簡單來說,也就是當(dāng)服務(wù)器端接收到一個(gè)連接時(shí),啟動(dòng)一個(gè)專門的線程處理和該客戶端的通訊。
按照這個(gè)思路改寫的服務(wù)端示例程序?qū)⒂蓛蓚€(gè)部分組成,MulThreadSocketServer類實(shí)現(xiàn)服務(wù)器端控制,實(shí)現(xiàn)接收客戶端連接,然后開啟專門的邏輯線程處理該連接,LogicThread類實(shí)現(xiàn)對于一個(gè)客戶端連接的邏輯處理,將處理的邏輯放置在該類的run方法中。4如何支持多個(gè)客戶端同時(shí)工作?該示例的代碼實(shí)現(xiàn)為:5代碼分析
在該示例代碼中,實(shí)現(xiàn)了一個(gè)while形式的死循環(huán),由于accept方法是阻塞方法,所以當(dāng)客戶端連接未到達(dá)時(shí),將阻塞該程序的執(zhí)行,當(dāng)客戶端到達(dá)時(shí)接收該連接,并啟動(dòng)一個(gè)新的LogicThread線程處理該連接,然后按照循環(huán)的執(zhí)行流程,繼續(xù)等待下一個(gè)客戶端連接。這樣當(dāng)任何一個(gè)客戶端連接到達(dá)時(shí),都開啟一個(gè)專門的線程處理,通過多個(gè)線程支持多個(gè)客戶端同時(shí)處理。6如何支持多個(gè)客戶端同時(shí)工作?下面再看一下LogicThread線程類的源代碼實(shí)現(xiàn):7代碼分析
在該示例代碼中,每次使用一個(gè)連接對象構(gòu)造該線程,該連接對象就是該線程需要處理的連接,在線程構(gòu)造完成以后,該線程就被啟動(dòng)起來了,然后在run方法內(nèi)部對客戶端連接進(jìn)行處理,數(shù)據(jù)交換的邏輯和前面的示例代碼一致,只是這里將接收到客戶端發(fā)送過來的數(shù)據(jù)并進(jìn)行處理的邏輯封裝成了logic方法,按照前面介紹的IO編程的內(nèi)容,客戶端發(fā)送過來的內(nèi)容存儲(chǔ)在數(shù)組b的起始下標(biāo)為0,長度為n的空間中,這些數(shù)據(jù)是客戶端發(fā)送過來的有效數(shù)據(jù),將有效的數(shù)據(jù)傳遞給logic方法,logic方法實(shí)現(xiàn)的是echo服務(wù)的邏輯,也就是將客戶端發(fā)送的有效數(shù)據(jù)形成新
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電池及電池系統(tǒng)維修保養(yǎng)師崗前保密意識(shí)考核試卷含答案
- 長期照護(hù)師班組考核知識(shí)考核試卷含答案
- 制材工安全技能考核試卷含答案
- 農(nóng)作物種植技術(shù)員安全教育水平考核試卷含答案
- 甘油精制工班組協(xié)作模擬考核試卷含答案
- 甲殼類繁育工安全綜合競賽考核試卷含答案
- 制帽工操作技能競賽考核試卷含答案
- 糖藝師崗前生產(chǎn)安全考核試卷含答案
- 坯布縫接工安全防護(hù)水平考核試卷含答案
- 【12篇】新部編版小學(xué)語文六年級上冊【課內(nèi)外閱讀理解專項(xiàng)訓(xùn)練(完整版)】含答案
- 船艇涂裝教學(xué)課件
- 招標(biāo)績效考核方案(3篇)
- 500萬的咨詢合同范本
- 2025年貸款房屋轉(zhuǎn)贈(zèng)協(xié)議書
- 2025天津市個(gè)人房屋租賃合同樣本
- 中藥熱熨敷技術(shù)及操作流程圖
- 鶴壁供熱管理辦法
- 01 華為采購管理架構(gòu)(20P)
- 糖尿病逆轉(zhuǎn)與綜合管理案例分享
- 工行信息安全管理辦法
評論
0/150
提交評論