C++网络编程.卷1-运用ACE和模式消除复杂性

当前位置:首页 > 计算机网络 > 程序设计 > C++网络编程.卷1-运用ACE和模式消除复杂性

出版社:第1版 (2007年5月1日)
出版日期:2007年5月1日
ISBN:9787121041518
作者:施密特
页数:303 页页

内容概要

Stephen D.Huston,Riverace Corporation总裁、CEO,为ACE用户提供技术支持和咨询服务。Steve具有5年多ACE使用经验和20多年软件开发经验,主要从事多种软硬件环境下的网络协议和C++网络应用程序的开发。

书籍目录

第0章 设计课题、中间件方案、ace
0.1 网络应用面临的挑战
0.2 网络应用的设计空间
0.3 面向对象中间件方案
0.4 ace工具包概览
0.5 示例:一个网络日志服务程序
0.6 小结
第1篇 面向对象网络编程
第1章 通信设计空间
1.1 无连接协议与面向连接协议
1.2 同步及异步消息交换
1.3 消息传递与共享内存
1.4 小结
第2章 socket api概述
2.1 操作系统ipc机制概述
2.2 socket api
2.3 socket api的局限性
2.4 小结
第3章 ace socket wrapper facade
3.1 概述
. 3.2 ace_addr类和ace_inet addr类
3.3 ace_ipc_sap类
3.4 ace_sock类
3.5 ace_sock_connector类
3.6 ace_sock_10类和ace_sock_stream类
3.7 ace_sock_acceptor类
3.8 小结
第4章 网络日志服务程序的实现
4.1 概述
4.2 ace_message_block类
4.3 ace_inputcdr类和ace_outputcdr类
4.4 日志服务器的初始版本
4.5 客户程序
4.6 小结
第2篇 并发式面向对象网络编程
第5章 并发设计空间
5.1 循环、并发及反应式服务器
5.2 进程与线程
5.3 进程/线程创建策略
5.4 用户、核心及混合线程模型
5.5 分时及实时调度级别
5.6 “基于任务”与“基于消息”的体系
5.7 小结
第6章 操作系统并发机制概述
6.1 同步事件多路分离
6.2 多进程机制
6.3 多线程机制
6.4 同步机制
6.5 os并发机制的局限性
6.6 小结
第7章 ace同步事件多路分离wrapper facade
7.1 概述
7.2 ace hanolle_set类
7.3 ace_handle_set_iterator类
7.4 ace::select()方法
7.5 小结
第8章 ace进程wrapper facade
8.1 概述
8.2 ace_process类
8.3 ace_process_options类
8.4 ace_process_manager类
8.5 小结
第9章 ace线程wrapper facade
9.1 概述
9.2 ace_thread_manager类
9.3 ace_sched_params类
9.4 ace_tss类
9.5 小结
第10章 ace同步wrapper facade
10.1 概述
10.2 ace_guard类
10.3 ace互斥体类
10.4 ace readers/writer lock类
10.5 ace信号量类
10.6 ace条件变量类
10.7 小结
附录a ace c++wrapper facade的设计原则
a.1 概述
a.2 通过wrapper facade增强类型安全性
a.3 简化常见情形
a.4 通过继承结构提高设计的清晰性和可扩充性
a.5 尽可能地隐藏平台间的差异
a.6 针对效率实施优化
a.7 小结
附录b ace的过去、现在和将来
b.1 ace的演变
b.2 未来之路
b.3 结束语
术语表
参考文献
索引

作者简介

ACE(ADAPTWE Communication Environment)是用于构建高性能网络化应用和下一代中间件的开放源码工具包,已在世界各地的许多项目中得到了广泛应用。本书是《c++网络编程》(卷2)的前篇,由ACE的创始人Douglas C. Schmidt及主要开发者之一StephenD.Huston撰写而成,其内容涵盖了ACE中的各主要框架的基础概念、模式及使用规则。本书将向你摧述这些框架的设计,以及它们可怎样帮助你克服较低级的本地操作系统API与较高级的分布式计算中间件的各种局限,高效地开发出高质量、可移植的C++网络化应用。本书是继受到了高度赞誉的POSA2(Pattem- OrientedSottwareArchitecture:Patterns for Concurrent and Networked Objects)之后,Douglas C.Schmidt撰写的又一著作,通过学习本书,你将能更深入地了解和掌握适用于网络化应用开发的各种设计模式。

图书封面


 C++网络编程.卷1-运用ACE和模式消除复杂性下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     ==== 基本介绍 ====首先想说一下,“C++网络编程”这个名字不好,容易误导新同学。想学习网络编程的基础,应该看Steven老大的《UNIX网络编程:卷1》和《TCP/IP详解:卷1》。还有本《Windows网络编程》,以前评价过,感觉翻译得不太好。http://book.douban.com/review/1806631/《C++网络编程》卷1、卷2,以及另一本《ACE程序员指南》,只是对网络库ACE的使用介绍。http://www.cs.wustl.edu/~schmidt/ACE.htmlACE是一款用C++写成的网络库。设计的初衷,大约是作为Schmidt大叔验证其想法的试验田。正巧90年代C++兴起,Schmidt大叔自然选择了C++来完成此大作;且当年C++ Network Framework也是稀缺之物,所以ACE流行起来了。学习ACE的好处是毋庸置疑的,它让你彻底理解网络编程中的“那些事”,你能碰到的问题,在ACE中,应该都找到答案。就比如 timer queue,对于定时器管理,ACE就给你列了四种实现。Timer_Heap, libevent用的就是这个min-heap,nginx用的red-black tree和这个原理类似Timer_Wheel, linux内核用的方法Timer_Hash, MudOS里面的callout就是用这个方法,有点慢Timer_List, 这是最慢的方法,实际项目应该不会用到==== 如何学习 ====想深入理解ACE,或是深入理解网络编程,都应该从Steven老大的作品开始打基础。有了一定基础后,可以阅读libevent的代码,这个库小巧精悍,让你明白如何做跨平台的网络封装(ACE所谈的Facade Wrapper),以及reactor的基本原理。很多时候,libevent足以解决问题,就不要用ACE了。理解libevent后,可以开始认真阅读ACE。ACE的设计,期望跨平台,且非常通用。希望使用者只需要简单配置一些strategy,就可以满足业务需求。所以也导致其本身用起来比较复杂。个人推荐学习ACE的过程:1. 阅读《C++网络编程》卷1、卷2,《ACE程序员指南》,学会ACE的基本使用2. 阅读Schmidt大叔的POSA2(《Pattern-Oriented Software Architecture, Vol.2》)并配合阅读ACE源代码,理解每个模块的起承转合。ACE实践了POSA2中所著的各种pattern。==== Beyond ACE ====经历过ACE洗礼后,也许你对构建在C++之上的ACE也会有不满之处。也许 python, java 是不错的选择。不过我个人比较看好 erlang,因为现在发展多核嘛。==== 参考资料 ====libevent, http://www.monkey.org/~provos/libevent/Ice, 和ACE类似的库,轻量级一些。http://www.zeroc.comps. 自己对ACE,还在学习阶段,上面是自己的一些感受,分享之 :-)

精彩短评 (总计11条)

  •     本书不错,通过一个例子讲述ACE的要点,使人渐入ACE佳境
  •     买了,但没看,也许不会看,但我喜欢买书,哈哈哈!
  •     不错,就是感觉有点深度,需要反复看
  •     目前看来这本比较适合于入门。
  •     高级货,非常得好使!
  •     如果想更好的提高网络编程的话,学学ACE真的不错..
  •     因为是急用的关系,所以着急着用书。结果送来发现书的封面都破损了,还用封条故意遮掩。收货的时候本着对当当的信赖,没有仔细检查,希望下次不要发生类似的情况。
  •     介绍ACE基础的很好的书籍~
  •     用ACE framework网络编程,了解ACE的架构
  •     自有
  •     这本书很好!对于C++编程的人来说是一本好书
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024