《C++网络编程 卷1 运用ACE和模式消除复杂性》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:Douglas C.Schmidt,Stephen D.Huston著;于春景译
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2003
  • ISBN:7560930662
  • 页数:303 页
图书介绍:DouglasC.Schmidt博士,ACE的早期开发者。他是UniversityofCalifornia,Irvine的一位副教授,主要研究分布式实时中间件及嵌入式中间件的模式和优化技术。他是前C++Report主编,C/C++UsersJournal专栏作家,《PatternLanguagesofProgramDesign》(Addison-Wesley,1995)编者之一。<br>StephenD.Huston,RiveraceCorporation总载、CEO,为ACE用户提供技术支持和咨询服务。Steve具有五年多ACE使用经验和二十多年软件开发经验,主要从事多种软硬件环境下的网络协议和C++网络应用程序的开发。<br>於春景,软件工程师,1993年毕业于中南工业大学计算机科学系,有近十年专业软件开发经验,《MoreExceptionalC++中文版》、《C++设计新思维》等书译者。<br><br><br>随着计算机网络、设备和系统的持续发展,软件工程师面临一个独特的挑战:在不断变化的环境中创建可靠的分布式应用。《C++网络编程,卷1》就此提供了实用、有效的方案:运用ADAP

第0章 设计课题、中间件方案、ACE 1

0.1 网络应用面临的挑战 1

图表一览 2

0.1 独立应用体系 2

0.2 一个普通的网络应用环境 3

0.2 网络应用的设计空间 5

0.3 网络应用的设计空间 6

0.3 面向对象中间件方案 7

0.4 用环境下的面向对象中间件层次 8

目录 9

图表一览 9

序 11

0.4 ACE工具包概览 12

0.5 ACE的层次化体系结构 13

译序 15

关于本书  17

0.5 示例:一个网络日志服务程序 17

0.6 网络日志服务的参与者 18

0.6 小结 19

第1篇 面向对象网络编程 21

第1章 通信设计空间 23

1.1 无连接协议与面向连接协议 23

1.1 可选的连接多路复用策略 25

1.2 同步及异步消息交换策略 26

1.2 同步及异步消息交换 26

1.3 消息传递与共享内存 28

1.3 消息传递与共享内存 29

1.4 小结 31

2.1 操作系统IPC机制概述 33

第2章 SocketAPI概述 33

2.2 Socket API 34

2.3 SocketAPI的局限性 37

2.1 Socket空间分类图 42

2.4 小结 43

第3章 ACE Socket Wrapper Facade 45

3.1 概述 45

3.1 ACE面向连接的Socket类关系图 47

3.2 ACE Socket Wrapper Facade分类图 48

3.2 ACE_Addr类和ACE_INET_Addr类 49

3.3 ACE SocketWrapper Facade中的角色 49

3.4 ACE_Addr和ACE_IN T_Addr类图 51

3.3 ACE_IPC_SAP类 52

3.4 ACE_SOCK类 54

3.5 ACE_IPC_SAP和ACE_SOCK类图 54

3.5 ACE_SOCK Connector类 56

3.6 ACE_SOCK_Connector类图 57

3.6 ACE_SOCK_IO类和ACE_SOCK_Stream类 60

3.7 ACE_SOCK_Stream和ACE_SOCK_IO类图 62

3.7 ACE_SOCK_Acceptor类 64

3.8 ACE_SOCK Acceptor类图 65

3.8 小结 68

4.1 概述 71

第4章 网络日志服务程序的实现 71

4.2 ACE_Message_Block类 72

4.1 ACE_Message_Block类图 73

4.2 两种ACE_Message_Block 75

4.3 ACE_InputCDR类和ACE_OutputCDR类 76

4.3 ACE_InputCDR和ACE_OutputCDR类图 79

4.4 日志服务器的初始版本 80

4.4 日志服务器示例类 81

4.5 日志记录信息的消息块链 90

4.5 客户程序 95

4.6 小结 99

第2篇 并发式面向对象网络编程 101

第5章 并发设计空间 103

5.1 循环、并发及反应式服务器 103

5.1 循环式/反应式服务器与并发式服务器 104

5.2 进程与线程 109

5.2 多进程与多线程 109

5.3 进程/线程创建策略 112

5.4 “一个请求一个线程”式的“随需创建”策略 113

5.3 线程池“急式创建”策略 113

5.4 用户、核心及混合线程模型 114

5.5 N∶1与1∶1线程模型 115

5.6 N∶M混合线程模型 117

5.5 分时及实时调度级别 119

5.6 “基于任务”与“基于消息”的体系 121

5.7 “基于任务”与“基于消息”的并发体系 122

5.7 小结 123

6.1 同步事件多路分离 125

第6章 操作系统并发机制概述 125

6.2 多进程机制 127

6.3 多线程机制 129

6.4 同步机制 130

6.5 OS并发机制的局限性 135

6.6 小结 137

第7章 ACE同步事件多路分离Wrapper Facade 139

7.1 概述 139

7.1 ACE_Handle_Set和ACE_Handle_Set_Iterator类图 140

7.2 ACE_Handle_Set类 141

7.3 ACE_Handle_Set_Iterator类 147

7.4 ACE∷select()方法 151

7.2 反应式日志服务器的结构 153

7.5 小结 157

第8章 ACE进程Wrapper Facade 159

8.1 概述 159

8.1 ACE进程管理类关系图 160

8.2 ACE_Process类 161

8.2 ACE_Process类图 163

83 ACE_Process_Options类 165

8.3 ACE_Process_Options类图 167

8.4 ACE_Process_Manager类 169

8.4 ACE_Process_Manager类图 170

8.5 多进程日志服务器的结构 171

8.6 主进程/工作者进程的创建顺序(POSIX) 174

8.7 主进程/工作者进程的创建顺序(Win32) 174

8.5 小结 182

9.1 概述 185

第9章 ACE线程Wrapper Facade 185

9.2 ACE_Thread_Manager类 187

9.1 ACE_Thread_Manager类图 189

9.2 “一个连接一个线程”日志服务器的结构 192

9.3 ACE_Sched_Params类 198

9.3 ACE_Sched_Params类图 200

9.4 ACE_TSS类 201

9.4 ACE_TSS类图 203

9.5 小结 205

第10章 ACE同步Wrapper Facade 207

10.1 概述 207

10.1 ACE_LOCK伪类 209

10.2 ACE_Guard类 209

10.2 ACE_Guard系列类图 210

10.3 ACE互斥体类 212

10.4 ACE Readers/Writer Lock类 218

10.5 ACE信号量类 222

10.6 ACE条件变量类 229

10.3 ACE_Condition_Thread_Mutex类图 230

10.4 ACE_Recursive_Thread_Mutex类图 231

10.7 小结 233

附录A ACE C++WrapperFacade的设计原则 235

A.1 概述 235

A.2 通过Wrapper Facade增强类型安全性 236

A.3 简化常见情形 238

A.4 通过继承结构提高设计的清晰性和可扩充性 246

A.1 Socket API中的函数 247

A.5 尽可能地隐藏平台间的差异 248

A.2 ACE IPC地址的继承结构 248

A.6 针对效率实施优化 255

A.7 小结 257

附录B ACE的过去、现在和将来 259

B.1 ACE的演变 259

B.1 基于ACE且符合标准的中间件 264

B.2 未来之路 267

B.3 结束语 268

术语表 269

参考文献 285

索引 293