当前位置:首页 > 工业技术
C++网络编程  卷1  运用ACE和模式消除复杂性
C++网络编程  卷1  运用ACE和模式消除复杂性

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

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:(美)施密特,(美)休斯顿编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2012
  • ISBN:9787030327994
  • 页数:290 页
图书介绍:本书讨论了网络计算系统中的基础设施软件--中间件。本书提供了一种如何应用自适应通信环境ACE和能够运行多种硬件平台和操作系统的开发源框架,来开发和优化复杂分布系统的实际解决方案,指导软件专业人员如何开发高效、可移植和灵活的并发网络应用系统程序。全书分为三部分,内容包括网络应用面临的挑战,面向对象的中间件解决方案,自适应通信环境ACE工具包,面向对象的网络编程技术和面向并发对象的网络编程等。
《C++网络编程 卷1 运用ACE和模式消除复杂性》目录

第0章 设计面临的挑战、中间件解决方案和ACE 1

0.1网络应用面临的挑战 1

0.2网络应用的设计空间 4

0.3面向对象的中间件解决方案 6

0.3.1面向对象中间件的各个层面 7

0.3.2宿主基础中间件的好处 9

0.4 AC E工具包概览 11

0.4.1 ACE OS适配层 12

0.4.2 ACE的C++包装器外观层 12

0.4.3 ACE的框架层 13

0.4.4 ACE网络服务组件层 14

0.5示例:网络日志服务 15

0.6小结 17

第1部分 面向对象网络编程 20

第1章 通信的设计空间 20

1.1无连接和面向连接的协议对比 20

1.2同步和异步的消息交换对比 23

1.3消息传递与共享内存的对比 25

1.4小结 27

第2章 Socket API概述 29

2.1操作系统IPC机制概览 29

2.2 Socket API 30

2.3 Socket API的局限性 33

2.3.1容易出错的API 33

2.3.2过于复杂的API 37

2.3.3不可移植的和非形式统一的API 39

2.4小结 39

第3章 ACE的Socket包装器外观 41

3.1概述 41

3.2 ACE_Addr类和ACE_INET_Addr 45

3.3 ACE_IPC_SAP类 48

3.4 ACE_SOCK类 50

3.5 ACE_SOCK_Connector类 51

3.6 ACE_SOCK_IO类和ACE_SOCK_Stream类 56

3.7 ACE_SOCK_Acceptor类 60

3.8小结 64

第4章 实现网络日志服务 66

4.1概述 66

4.2 ACE_Message_Block类 67

4.3 ACEInputCDR类和ACE_OutputCDR类 71

4.4最初版本的日志服务器 75

4.4.1 Logging_Server基类 77

4.4.2 Logging_Handler类 82

4.4.3 Iterative_Logging_Server类 87

4.5客户端应用 91

4.6小结 96

第2部分 并发式面向对象网络编程 98

第5章 并发设计空间 98

5.1循环式、并发式和反应式服务器 99

5.2进程和线程的对比 104

5.3进程/线程的产生策略 107

5.4用户、核心和混合线程模型 109

5.5分时和实时调度类 114

5.6基于任务的和基于消息的架构对比 115

5.7小结 117

第6章 操作系统并发机制概览 118

6.1同步事件多路分离 118

6.2多进程机制 120

6.3多线程机制 122

6.4同步机制 123

6.4.1互斥体锁 125

6.4.2读/写锁 125

6.4.3信号量锁 126

6.4.4条件变量 126

6.5 OS并发机制的局限性 127

6.6小结 129

第7章 ACE的同步事件多路分离包装器外观 131

7.1概述 131

7.2 ACE_Handle_Set类 133

7.3 ACE_Handle_Set_Iterator类 139

7.4 ACE::select()方法 143

7.5小结 149

第8章 ACE的进程包装器外观 151

8.1概述 151

8.2 ACE_Process类 153

8.3 ACE_Process_Options类 157

8.4 ACE_Process_Manager类 162

8.5小结 175

第9章 ACE的线程包装器外观 176

9.1概述 176

9.2 ACE_Thread_Manager类 178

9.3 ACE_Sched_Params类 189

9.4 ACE_TSS类 193

9.5小结 197

第10章 ACE的同步包装器外观 198

10.1概述 198

10.2 ACE_Guard类 201

10.3 ACE的互斥体类 204

10.4 ACE的读/写锁类 210

10.5 ACE的信号量类 214

10.6 ACE的条件变量类 222

10.7小结 226

附录A ACE C++包装器外观的设计原则 227

A.1概述 227

A.2使用包装器外观来增强类型安全 228

A.2.1设计强制执行正确用法的C++类 228

A.2.2允许类型安全的受控违反 230

A.3常见用例的简化 231

A.3.1把多个函数整合到单个方法中 231

A.3.2把函数整合到一个统一的包装器外观下 233

A.3.3重排序参数并提供默认值 234

A.3.4显式地关联内聚对象 237

A.4使用层次结构来增强设计的清晰度和可扩展性 238

A.4.1使用层次结构来代替一维的API 239

A.4.2使用C++继承来代替伪继承 240

A.5尽可能地隐藏平台的差异性 240

A.5.1只要有所受益就允许源代码构建 241

A.5.2模拟缺失的功能 242

A.5.3通过参数化类型来处理变异性 244

A.6为提高效率进行优化 247

A.6.1设计高效的包装器外观 247

A.6.2内联性能关键的方法 248

A.6.3避免使用系统级工具包中的异常处理 248

A.7小结 249

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

B.1 ACE的演变 250

B.1.1初始有形的渴望 250

B.1.2转折点 251

B.1.3跨越鸿沟 253

B.1.4中间件标准 254

B.1.5开源的影响 256

B.2未来之路 257

B.3结束语 259

术语表 260

参考文献 281

相关图书
作者其它书籍
返回顶部