《Visual C++网络通信程序开发基础及实例解析 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:郎锐,孙方编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2006
  • ISBN:7111139690
  • 页数:396 页
图书介绍:网络通信编程是目前非常热门的一类编程技术,它广泛应用于工程、科研、金融和教育等诸多领域。本书以Microsoft Visual C++6.0开发环境为背景,对Windows套接字、邮槽、管道、MAPI、WinInet以及端口通信等主流的网络通信编程技术作了详细介绍。在结构编排上,本书从基本原理和相关概念人手,逐步对各种编程技术的概况、基本实现流程和具体编程细节作了比较清晰的描述,并根据各种编程技术之间的相互关系对各章节进行安排。本书可供各大专院校电子类专业及其相近专业师生、从事IT业的工程技术人员,以及编程爱好者参考使用。

目录 1

出版说明 1

前言 1

第1章 Windows编程基础 1

1.1 Windows操作系统及编程环境 1

1.1.1 Windows操作系统 1

1.1.2 Windows的编程环境 2

1.1.3 Microsoft Visual C++6.0集成开发环境 3

1.1.4 Microsoft Visual C++.NET集成开发环境 6

1.2 认识Windows环境框架 9

1.2.1 Windows系统结构 9

1.2.2 虚拟机与虚拟设备驱动程序 9

1.2.3 多任务管理 10

1.2.4 窗口与消息 10

1.2.5 句柄 11

1.2.6 资源 12

1.2.7 内存管理 12

1.2.8 图形设备接口 12

1.2.9 动态链接库 13

1.3 Win32程序SDK编程 13

1.3.1 SDK编程方式 13

1.3.2 Win32应用程序入口 13

1.3.3 窗口类及其注册 14

1.3.4 窗口的创建、显示与更新 15

1.3.5 消息循环 16

1.3.6 实战“Hello World!” 17

1.4 Win32程序MFC编程 20

1.4.1 MFC概述 20

1.4.2 消息映射与命令/通知 25

1.4.3 文档/视图结构 30

7.3.2 定位数据的接收 2. 32

1.5 深入理解SDK和MFC概念模型 32

1.5.1 SDK概念模型剖析 33

1.5.2 MFC概念模型剖析 35

2.1 采用高质量编程规范 39

2.1.1 版本定义与程序文件的组织 39

第2章 提高程序的健壮性 39

2.1.2 程序代码的书写规范 41

2.1.3 统一的命名规范 45

2.1.4 谨慎使用内存 46

2.1.5 重视类的构造函数与析构函数 47

2.1.6 其他有益的建议 48

2.2.1 使用结构化异常处理 49

2.2 添加异常捕获 49

2.2.2 中断处理 50

2.2.3 异常处理 52

2.2.4 未处理异常和C++异常处理 58

2.3 进行调试 63

2.3.1 调试环境 63

2.3.2 基本调试方法 66

2.3.3 常用的调试技巧 71

2.4 实战调试工具DIY 75

2.4.1 特定的调试需求 75

2.4.2 解析MAP文件 76

2.4.3 自动定位出错代码 77

3.1.1 对象的持久性 81

3.1 持久性与文件I/O 81

第3章 文件与内存管理 81

3.1.2 文件I/O 85

3.1.3 初始化文件访问 87

3.1.4 系统注册表访问 91

3.2 虚拟内存 93

3.2.1 Windows的内存结构 93

3.2.2 对内存的管理 99

3.3 内存映射文件 104

3.3.1 关于内存映射文件 104

3.3.2 内存映射文件的基本用法 106

3.3.3 内存映射文件的高级用法 114

3.4 堆管理 120

3.4.1 堆和堆管理 120

3.4.2 进行堆管理 122

4.1.1 使用动态链接库 129

4.1 DLL基本概念 129

第4章 动态链接库 129

4.1.2 DLL的调用方式 131

4.1.3 输入、输出函数 132

4.1.4 模块定义文件 134

4.1.5 共享数据段 134

4.1.6 DLL的结构 135

4.1.7 调用约定与修饰名约定 136

4.2 创建DLL 138

4.2.1 进入点函数 138

4.2.2 MFC及非MFC的DLL 139

4.2.3 创建非MFC的DLL 140

4.2.5 创建MFC扩展DLL 142

4.2.4 创建MFC规则DLL 142

4.3.1 调用DLL的可执行程序 144

4.3.2 隐式链接 144

4.3 加载和使用DLL 144

4.3.3 显式链接 145

4.3.4 延迟加载 146

5.1.1 进程 148

5.1 多进程管理 148

第5章 多任务管理 148

5.1.2 创建进程 150

5.1.3 结束进程 157

5.1.4 作业 158

5.2 多线程管理 162

5.2.1 线程的创建与结束 162

5.2.2 线程的管理 167

5.2.3 线程间通信 169

5.3 线程同步 173

5.3.1 使用线程同步 173

5.3.2 原子访问 173

5.4.3 临界区 177

5.3.4 管理事件内核对象 180

5.3.5 信号量内核对象 184

5.3.6 互斥内核对象 189

第6章 钩子 194

6.1 Windows钩子机制 194

6.1.1 钩子的概念 194

6.1.2 线程局部钩子与系统全局钩子 194

6.1.3 钩子的安装与卸载 195

6.2.1 实战鼠标钩子编程 196

6.2 实战与解析 196

6.2.2 解析黑客软件对键盘信息的窃取 199

6.2.3 解析Office XP阴影菜单的实现方法 202

第7章 通信端口编程 208

7.1 串行端口通信编程 208

7.1.1 Windows环境下的串口编程 208

7.1.2 串口参数配置及对资源的申请 209

7.1.3 同步I/O读写数据 216

7.1.4 使用事件驱动机制 218

7.1.5 异步I/O读写数据 220

7.1.6 MS Comm串行通信控件 226

7.2 并行端口通信编程 230

7.3.1 GPS全球定位系统简介 232

7.3 GPS全球定位系统数据终端实例开发 232

7.3.3 对接收数据的解码显示 235

第8章 Windows套接字 242

8.1 TCP/IP体系结构、特点及相关概念 242

8.1.1 TCP/IP体系结构与特点 242

8.1.2 Windows Sockets规范 245

8.1.3 套接字及其分类 246

8.1.4 客户机/服务器模型 247

8.1.5 网络字节顺序 247

8.2 套接字库函数 247

8.2.1 套接字函数 247

8.2.2 数据库函数 254

8.2.3 Windows扩展函数 256

8.3.1 基本Socket系统调用 262

8.3 使用WinSocket API 262

8.3.2 Windows Sockets编程机理 264

8.3.3 面向连接的套接字编程 264

8.3.4 无连接套接字编程 268

8.3.5 解析网络侦听软件Sniffer 270

8.4 MFC对WinSocket API的封装 274

8.4.1 CAsyncSocket类 274

8.4.2 使用CAsyncSocket类 278

8.4.3 CSocket类 280

8.4.4 使用CSocket类 282

8.5 远程监控软件实例解析 284

8.5.1 需求与方案 284

8.5.2 远程服务器的搭建 284

8.5.3 监视客户端的界面设计 286

8.5.4 屏幕的捕获、显示与保存 289

8.5.5 数据传输 294

8.5.6 客户机授权认证系统的实现 297

第9章 邮槽与管道 302

9.1 邮槽 302

9.1.1 邮槽实施细节 302

9.1.2 邮槽服务器 303

9.1.3 邮槽客户机 304

9.1.4 其他的邮槽API 306

9.2 匿名管道 307

9.2.1 匿名管道的实施细节 307

9.2.2 匿名管道程序示例 308

9.3 命名管道 309

9.3.1 命名管道技术概述 309

9.3.3 使用命名管道 310

9.3.2 命名规范及通信模式 310

9.3.4 其他命名管道API 315

9.4 非对称文字—语音通信系统设计剖析 317

9.4.1 需求与分析 317

9.4.2 程序框架与通信模块的搭建 318

9.4.3 TTS技术的实现 322

第10章 Internet编程 326

10.1 WinInet编程 326

10.1.1 WinInetAPI概述 326

10.1.2 WinInet类概述 329

10.1.3 HTTP编程 332

10.1.4 FTP编程 334

10.1.5 Gopher编程 337

10.2.1 ISAPI概述 339

10.2 ISAPI编程 339

10.2.2 ISAPI服务器扩展程序 340

10.2.3 对ISA的调试 344

10.2.4 ISAPI过滤程序 345

10.3 MAPI编程 349

10.3.1 MAPI体系结构概述 349

10.3.2 MAPI应用程序接口 350

10.3.3 使用MAPI编写电子邮件程序 351

10.4 基于HTTP协议的在线更新程序开发解析 356

10.4.1 需求背景与设计方案 356

10.4.2 新版本的检测 357

10.4.3 高版本程序组件的下载 359

11.1 建立帮助工程 363

11.1.1 使用HtmlHelp Workshop创建工程 363

第11章 联机帮助 363

11.1.2 配置工程文件 365

11.1.3 定制显示窗口 366

11.1.4 添加/删除主题文件 367

11.2 创建目录 367

11.2.1 定制目录特性 367

11.2.2 标题项、主题项的添加与维护 368

11.3 创建索引 369

11.3.1 定制索引特性 369

11.3.2 添加关键字 370

11.4 编译运行 371

11.4.1 编译生成CHM帮助文件 371

11.4.2 在应用程序中启动帮助 372

12.1.1 使用Install Shield 6.0 375

12.1.2 建立安装程序框架 375

12.1 基本安装程序的创建 375

第12章 安装盘 375

12.1.3 必要的完善 382

12.1.4 安装程序的发布 386

12.2 界面设计 389

12.2.1 设计启动画面 389

12.2.2 设计标题 390

12.2.3 设计安装背景 390

12.2.4 在安装过程显示位图 391

12.2.5 使用API函数向导 392

12.3 在Visual Studio.NET下制作安装盘 393

12.3.1 Visual Studio.NET简介 393

12.3.2 新建安装项目 394

12.3.3 安装文件的加入与配置 394