![C++網(wǎng)絡(luò)編程學(xué)習(xí)筆記(ACE)_第1頁](http://file4.renrendoc.com/view/a83f033d11be6b3859e5a2c1a4a62dc7/a83f033d11be6b3859e5a2c1a4a62dc71.gif)
![C++網(wǎng)絡(luò)編程學(xué)習(xí)筆記(ACE)_第2頁](http://file4.renrendoc.com/view/a83f033d11be6b3859e5a2c1a4a62dc7/a83f033d11be6b3859e5a2c1a4a62dc72.gif)
![C++網(wǎng)絡(luò)編程學(xué)習(xí)筆記(ACE)_第3頁](http://file4.renrendoc.com/view/a83f033d11be6b3859e5a2c1a4a62dc7/a83f033d11be6b3859e5a2c1a4a62dc73.gif)
![C++網(wǎng)絡(luò)編程學(xué)習(xí)筆記(ACE)_第4頁](http://file4.renrendoc.com/view/a83f033d11be6b3859e5a2c1a4a62dc7/a83f033d11be6b3859e5a2c1a4a62dc74.gif)
![C++網(wǎng)絡(luò)編程學(xué)習(xí)筆記(ACE)_第5頁](http://file4.renrendoc.com/view/a83f033d11be6b3859e5a2c1a4a62dc7/a83f033d11be6b3859e5a2c1a4a62dc75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
前言面向?qū)ο笾虚g件體系結(jié)構(gòu)主機基礎(chǔ)設(shè)施中間件:封裝socket,線程等不同主機的實現(xiàn),形成統(tǒng)一的接口。如java,ACE分布式中間件:連接管理,內(nèi)存管理,整編,解編,端點和請求的多路分離,同步,多線程等,使程序員象開發(fā)獨立應(yīng)用程序一樣開發(fā)分布式應(yīng)用程序。分布式中間件的核心是ORB(ObjectRequestsBroker對象請求代理),如:COM+,JAVARMI,CORBA通信設(shè)計空間面向連接協(xié)議需要做出如下設(shè)計:數(shù)據(jù)成幀策略連接多路復(fù)用策略鏈接多路復(fù)用:多個線程復(fù)用同一個TCP鏈接非多路復(fù)用:多個進程使用多個鏈接。系統(tǒng)開銷大同步和異步消息交換消息傳遞與共享內(nèi)存消息傳遞:消息中間件共享內(nèi)存:本地共享內(nèi)存:shmget(),shmat().內(nèi)存映射文件分布式共享內(nèi)存:虛擬內(nèi)存,是本地共享內(nèi)存的一種抽象。SOCKETAPI概述ACESocketwrapperfa?adeACE_Addr運算符==,!=addr_type,addr_sizeACE_INET_AddACE_IPC_SAP為其他ACE對象提供了基本的“I/O”句柄操作能力enable()disable()get_handle()set_handle()ACE_SOCK繼承自ACE_IPC_SAP,get_local_addr()set_local_addr()open()close()get_remote_addr()set_option()get_option()ACE_SOCK_Connecter主動連接模式,是一個工廠類。發(fā)起一個連接,并在連接成功后初始化一個ACE_SOCK_Stream對象。可以通過“阻塞”“非阻塞”“定時”方式發(fā)起。以下是非阻塞模式以下是非阻塞模式ACE_SOCK_Stream數(shù)據(jù)傳輸角色的實現(xiàn)。Send()Recv()Send_n()Recv_n()Recvv_n()//使用分散讀取系統(tǒng)函數(shù),高效、完整讀取多個緩沖區(qū),參數(shù)iovec[]Sendv_n()//使用集中寫入系統(tǒng)函數(shù),高效、完整寫入多個緩沖區(qū)Enable(ACE_NOBLOCK)ACE_SOCK_Acceptor被動連接模式的實現(xiàn)。相當(dāng)于accept()是一個工廠類,初始化一個ACE_SOCK_StreamOpen()Accept()ACE_Mem_Map通過內(nèi)存映射文件機制,將文件映射到內(nèi)存中,以便及時讀取,提高了效率。此外,內(nèi)存映射文件還可以被多個進程共享。網(wǎng)絡(luò)日志服務(wù)程序的實現(xiàn)ACE_Message_Block標(biāo)準(zhǔn)的消息管理包括:收到消息后,保存到緩沖區(qū)添加和刪除消息的頭和尾將消息分段,或重新組裝,以適應(yīng)網(wǎng)絡(luò)的最大傳輸單元MCU將消息保存到緩沖區(qū)中,以進行傳輸對“未按順序”接收的消息進行記錄ACE_Message_Block實現(xiàn)了composite模式。避免頻繁的內(nèi)存復(fù)制操作。提高效率。注:也可以用ACE::write_n(ACE_STDOUT,head)一次性寫入ACE_InputCDR與ACE_OutputCDR功能:整編,解編。避免不同操作系統(tǒng)對數(shù)據(jù)類型(如int)的不同實現(xiàn)方法。ACE_OutputCDRheader(ACE_CDR::MAX_ALIGNMENT+userlength)ACE_OutputCDR::from_boolean(ACE_CDR_BYTE_ORDER)并發(fā)設(shè)計空間服務(wù)器可以分為循環(huán)式、并發(fā)式和反應(yīng)式等幾大類。操作系統(tǒng)的并發(fā)機制ACE同步事件多路分離ACE_Handle_SetACE_Handle_Set_IteratorACE::select()Set_bit()//將一個句柄放置在set中領(lǐng)悟到的:Logging_handler是一個工具對象。使用他時,先設(shè)置一個handle,然后再進行操作。就像螺絲刀一樣。先指定給一個人,然后這個人才可以操作。采用ACE_Hash_Map將socket句柄與log_file句柄關(guān)聯(lián)在一起。從而實現(xiàn)根據(jù)socket句柄寫相應(yīng)log_file的功能。ACE進程WrapperFa?adeACE_OS::getenv(“fafaff”)獲得環(huán)境變量ACE_Process_Optionsopt;Omand_line(“%s%d”,”hhafaf”,20);ACE_Processchild;Child.spawn(opt);Child.wait();Child.exit_code();ACE線程WrapperFa?adeACE_Thread_Manager創(chuàng)建,管理線程ACE_Thread_Manager.instance()->spawn()在執(zhí)行線程時,為線程動態(tài)分配一個屬于自己的對象,將對象傳遞給線程,線程結(jié)束時,由線程自身刪除這個對象。ACE_Thread_tme=ACE_OS.thr_self(); ACE_Thread_Manager.instance()->testCancle(me)==false協(xié)同式刪除ACE_Thread_Manager.instance()->cancle_all()協(xié)同刪除由ACE_Thread_Manager創(chuàng)建的所有線程??梢哉{(diào)用wait()等待。ACE_Sched_Params設(shè)置線程屬性,如優(yōu)先級,調(diào)度策略等ACE_TSS實現(xiàn)了“線程專有存儲代理”,實現(xiàn)一個每個線程專有的對象。但這個對象看上去好像是一個全局變量。比如錯誤碼,所有的線程都需要一個屬于自己的錯誤碼。 ->操作符,得到和TSS鍵相關(guān)聯(lián)的線程專有對象 Cleanup()線程結(jié)束時,刪除TSS對象在線程內(nèi)部:ACE同步wrapperfa?ade消息隊列中信號量的使用:多個生產(chǎn)者,多個消費者。剛開始:notfull=0,notempty=0.不滿,也不空。生產(chǎn)者流程: Notfull+1。Notempty-1消費者流程: Notempty+1 Notfull-1卷二ACE_Service_Configurator框架ACE_Message_Queue初始化和流控制方法Open()初始化隊列,設(shè)置水位標(biāo),設(shè)置通知策略Hight_warter_mark(),Low_warter_mark()設(shè)置/獲取流控制何時開始和結(jié)束的高低水位標(biāo)Notification_strategy()設(shè)置,獲取通知策略入隊出對方法和消息緩沖Is_empty()Is_full()Enqueue_head()Enqueue_tail()Dequeue_head()Dequeue_tail()Enqueue_prio()根據(jù)其優(yōu)先級來插入隊列ACE_TaskAcceptor-Connector框架ACE_Svc_Handler繼承自ACE_Task,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保設(shè)備購銷合同樣本及格式說明
- 2025年度進出口貿(mào)易電子商務(wù)平臺運營服務(wù)合同
- 發(fā)熱管項目融資計劃書
- 邢臺2024年河北邢臺廣宗縣招聘事業(yè)單位工作人員38人筆試歷年參考題庫附帶答案詳解
- 鹽城2025年江蘇省鹽城市教育局直屬學(xué)校招聘教師14人筆試歷年參考題庫附帶答案詳解
- 濰坊2025年山東濰坊市產(chǎn)業(yè)技術(shù)研究院招聘7人筆試歷年參考題庫附帶答案詳解
- 楚雄云南楚雄州消防救援局招聘6人筆試歷年參考題庫附帶答案詳解
- 株洲2025年湖南株洲市蘆淞區(qū)面向應(yīng)屆生招聘教師30人筆試歷年參考題庫附帶答案詳解
- 杭州2025年浙江杭州市臨安區(qū)高虹鎮(zhèn)人民政府招聘編外聘用人員筆試歷年參考題庫附帶答案詳解
- 普洱云南普洱市消防救援支隊專職消防員消防文員招錄筆試歷年參考題庫附帶答案詳解
- 2023六年級數(shù)學(xué)下冊 第2單元 百分數(shù)(二)綜合與實踐 生活與百分數(shù)說課稿 新人教版
- 教體局校車安全管理培訓(xùn)
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級上學(xué)期期末質(zhì)量檢測綜合物理試題(含答案)
- 行車起重作業(yè)風(fēng)險分析及管控措施
- 健康體檢中心患者身份登記制度
- 《災(zāi)害的概述》課件
- 國產(chǎn)氟塑料流體控制件生產(chǎn)企業(yè)
- 空氣能安裝合同
- 初二上冊的數(shù)學(xué)試卷
- 四大名繡課件-高一上學(xué)期中華傳統(tǒng)文化主題班會
- 2025年奇瑞汽車招聘筆試參考題庫含答案解析
評論
0/150
提交評論