出版時間:2012-7 出版社:科學(xué)出版社 作者:Douglas C.Schmidt 頁數(shù):326 字?jǐn)?shù):523000 譯者:葉斌
Tag標(biāo)簽:無
內(nèi)容概要
你需要開發(fā)能被快速定制的靈活軟件嗎?你需要給自己的軟件添加框架的威力并提高其效率嗎?自適應(yīng)通信環(huán)境(ACE)就是這樣一種用于構(gòu)建高性能網(wǎng)絡(luò)應(yīng)用和下一代中間件的開放源碼工具包。ACE的威力和靈活性來自面向?qū)ο蟮目蚣埽ㄟ^它可以獲得對網(wǎng)絡(luò)應(yīng)用的系統(tǒng)化復(fù)用。ACE框架不僅能處理常用的網(wǎng)絡(luò)編程任務(wù),還能借助C++語言的各種特性對其進(jìn)行定制,以生成完整的分布式應(yīng)用。
本書重點講述ACE的各個框架,全面涵蓋了作為其架構(gòu)的基礎(chǔ)概念、模式和使用規(guī)則。本書是設(shè)計面向?qū)ο罂蚣艿膶嵱弥改希瑫r也告訴開發(fā)者,怎樣將框架應(yīng)用到并發(fā)的網(wǎng)絡(luò)應(yīng)用中?!禖++網(wǎng)絡(luò)編程卷1》主要介紹了ACE和wrapperfacade(包裝器外觀),它們是網(wǎng)絡(luò)計算的基礎(chǔ)成分,卷2則解釋了如何在包裝器外觀之上創(chuàng)建框架,以提供更高級別的通信服務(wù)。
本書由ACE社區(qū)的兩位專家撰寫,內(nèi)容包括:
◎ACE各個框架綜述
◎網(wǎng)絡(luò)服務(wù)的設(shè)計空間
◎?qū)χ匾腁CE框架提供其關(guān)鍵能力的描述
◎大量C++代碼示例,演示如何使用ACE框架
本書將教會開發(fā)者如何使用框架快速編寫網(wǎng)絡(luò)應(yīng)用,同時降低開發(fā)難度和工作量。對于任何從事網(wǎng)絡(luò)應(yīng)用開發(fā)的C++程序員,本書都是無法估量的財富。
作者簡介
作者:(美國)休斯頓(Stephen D.Huston) (美國)施密特(Douglas C.Schmidt) 譯者:王成章 白曉明 彭雪
書籍目錄
第1章 用于網(wǎng)絡(luò)編程的面向?qū)ο蟮目蚣?br /> 1.1 面向?qū)ο蟮目蚣芫C述
1.2 軟件開發(fā)與復(fù)用技術(shù)的比較
1.2.1 框架與類庫之間的比較
1.2.2 框架與組件之間的比較
1.2.3 框架與模式之間的比較
1.2.4 框架與模型集成式計算之間的比較
1.3 在網(wǎng)絡(luò)編程中應(yīng)用框架
1.4 漫游ACE框架
1.4.1 ACE綜述
1.4.2 ACE框架概要
1.5 示例:網(wǎng)絡(luò)日志服務(wù)
1.6 小結(jié)
第2章 服務(wù)以及配置的設(shè)計空間
2.1 服務(wù)以及服務(wù)器設(shè)計空間
2.1.1 短持續(xù)時間服務(wù)與長持續(xù)時間服務(wù)
2.1.2 內(nèi)部服務(wù)與外部服務(wù)
2.1.3 有狀態(tài)服務(wù)與無狀態(tài)服務(wù)
2.1.4 分層式/模塊化服務(wù)與整體式服務(wù)
2.1.5 單服務(wù)服務(wù)器與多服務(wù)服務(wù)器
2.1.6 一次性服務(wù)器與持續(xù)式服務(wù)器
2.2 設(shè)計空間的配置
2.2.1 靜態(tài)命名與動態(tài)命名
2.2.2 靜態(tài)鏈接與動態(tài)鏈接
2.2.3 靜態(tài)配置與動態(tài)配置
2.3 小結(jié)
第3章 ACE Reactor框架
3.1 綜述
3.2 ACE_Time_Value類
3.3 ACE_Event_Handler類
3.4 ACE定時器隊列類
3.5 ACE_Reactor類
3.6 小結(jié)
第4章 ACE Reactor實現(xiàn)
4.1 綜述
4.2 ACE_Select_Reactor類
4.3 ACE_TP_Reactor類
4.4 ACE_WFMO_Reactor類
4.5 小結(jié)
第5章 ACE Service Configurator框架
5.1 綜述
5.2 ACE_Service_Object類
5.3 ACE_Service_Repository類
5.4 ACE_Service_Config類
5.5 小結(jié)
第6章 ACE Task框架
6.1 綜述
6.2 ACE_Message_Queue類
6.3 ACE_Task類
6.4 小結(jié)
第7章 ACE Acceptor-Connector框架
7.1 綜述
7.2 ACE_Svc_Handler類
7.3 ACE_Acceptor類
7.4 ACE_Connector類
7.5 小結(jié)
第8章 ACE Proactor框架
8.1 綜述
8.2 異步I/O工廠類
8.3 ACE_Handler類
8.4 前攝式Acceptor-Connector類
8.5 ACE_Proactor類
8.6 小結(jié)
第9章 ACE Streams框架
9.1 綜述
9.2 ACE_Module類
9.3 ACE_Stream類
9.4 小結(jié)
術(shù)語表
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 顯式動態(tài)鏈接:允許一個應(yīng)用程序去獲取、使用,以及去除特定的與函數(shù)或者數(shù)據(jù)相關(guān)的,在DLL中定義的符號的運(yùn)行時的地址綁定。包括UNIX函數(shù)(dlopenO、dlsymO和dlcloseO)以及Windows函數(shù)(LoadLibraryO、GetProcAddressO和FreeLibraryO)在內(nèi)的顯式動態(tài)鏈接機(jī)制都是主流操作系統(tǒng)所支持的。 動態(tài)鏈接能夠在減少內(nèi)存中的進(jìn)程以及存儲在磁盤中的程序鏡像的內(nèi)存消耗方面提供幫助。理想的情況是只有DLL代碼的一個副本會存在,無論同時執(zhí)行DLL代碼的進(jìn)程的數(shù)量有多少。 當(dāng)在動態(tài)鏈接以及靜態(tài)鏈接之間作出選擇時,開發(fā)人員必須仔細(xì)地在靈活性、安全性,以及健壯性與時間以及空間效率的潛在益處之間進(jìn)行權(quán)衡。以下是采用動態(tài)鏈接的一些劣勢。 安全性以及健壯性的問題。一個動態(tài)鏈接應(yīng)用程序可能不如靜態(tài)鏈接應(yīng)用程序的安全性以及健壯性高。它可能會更加不安全,這是由于特洛伊木馬可以被植入到DLL中。由于一個錯誤DLL可能會破壞在相同應(yīng)用程序進(jìn)程中其他代碼或者數(shù)據(jù)的狀態(tài),所以它的健壯性可能會更差。 運(yùn)行時負(fù)載。動態(tài)鏈接與靜態(tài)鏈接相比較而言,可能會帶來更多的運(yùn)行時負(fù)載。除了打開以及映射多個文件之外,在DLL中的外部符號地址必須在文件被加載的內(nèi)存位置的基礎(chǔ)上進(jìn)行調(diào)整。縱然懶散的鏈接能夠減輕這一影響,但是它還是值得注意的,特別是在DLL首次被加載進(jìn)入內(nèi)存的時候。此外,生成與位置無關(guān)的代碼的編譯器常常采用額外的間接層次去解析方法調(diào)用,以及訪問DLL內(nèi)部的全局變量。 過度的抖動。時間關(guān)鍵的應(yīng)用程序可能無法容忍鏈接DLL進(jìn)入一個進(jìn)程,以及動態(tài)解析方法地址的延遲。 因此,你應(yīng)該憑經(jīng)驗來評估動態(tài)鏈接的影響,以便判定它對于你的應(yīng)用程序是否真是一個問題。 2.2.3靜態(tài)配置與動態(tài)配置 正如2.1節(jié)中描述的那樣,網(wǎng)絡(luò)應(yīng)用程序常常提供或者采用各種各樣的服務(wù)。通過將在2.2.1以及2.2.2小節(jié)中描述的命名以及鏈接空間結(jié)合在一起,我們能夠?qū)⒕W(wǎng)絡(luò)應(yīng)用程序服務(wù)分成被靜態(tài)配置的和被動態(tài)配置的。正如在2.2.2節(jié)中討論的那樣,在這一空間中主要的權(quán)衡包括可拓展性、安全性、可靠性,以及效率。 靜態(tài)配置指的是與初始化一個包含靜態(tài)命名服務(wù)(也就是說,將每一種服務(wù)開發(fā)成一個獨(dú)立的函數(shù)或者類)的應(yīng)用程序。
編輯推薦
《C++網(wǎng)絡(luò)編程(卷2):基于ACE和框架的系統(tǒng)化復(fù)用》重點講述ACE的各個框架,全面涵蓋了作為其架構(gòu)的基礎(chǔ)概念、模式和使用規(guī)則?!禖++網(wǎng)絡(luò)編程(卷2):基于ACE和框架的系統(tǒng)化復(fù)用》是設(shè)計面向?qū)ο罂蚣艿膶嵱弥改?,同時也告訴開發(fā)者,怎樣將框架應(yīng)用到并發(fā)的網(wǎng)絡(luò)應(yīng)用中。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
C++網(wǎng)絡(luò)編程(卷2) PDF格式下載