专题栏目:ARVRMR虚拟现实

《C#网络应用编程(第3版)》

书籍简介:

本书主要介绍如何用C#和WPF开发C/S应用程序和面向服务的WCF应用程序。全书共12章,前6章介绍网络编程预备知识,包括IP地址转换、DNS、套接字、数字墨迹、进程、线程、应用程序域、数据流、数据编码和解码、数据加密和解密、异步编程、并行编程等;后6章介绍WCF和HTTP、TCP、UDP、MSMQ编程技术。同时在附录中给出了本书的上机练习和综合设计要求。

本书提供配套的PPT课件以及在VS2012下调试通过的所有参考源程序和全部习题参考解答。

本书可作为高等院校计算机及相关专业的教材,也可作为初、中级程序员的参考用书。

作者简介:

马骏

出版日期:

2014年09月

章节目录:

第1篇 预备知识
第1章 网络应用编程入门知识 2
1.1 安装VS2012开发环境 2
1.2 网络应用编程模型 2
1.2.1 互联网与企业内部网 2
1.2.2 分散式、集中式和分布式 3
1.2.3 C/S模式 4
1.2.4 B/S模式 6
1.2.5 网络应用程序编程模型 6
1.3 TCP/IP网络协议 7
1.3.1 TCP/IP基本概念 8
1.3.2 传统的网络编程技术简介 8
1.4 IP地址转换与域名解析 9
1.4.1 IP地址与端口 10
1.4.2 IP地址转换相关类 11
1.4.3 域名解析 13
1.5 网卡信息检测与网络流量检测 17
1.5.1 网卡信息检测相关类 17
1.5.2 网络流量检测相关类 20
习题 21
第2章 数字墨迹与动态绘图基础 22
2.1 Ribbon控件及其基本用法 22
2.1.1 设计选项卡 22
2.1.2 在多个选项卡中重用选项 23
2.2 WPF中的数字墨迹 24
2.2.1 墨迹画板(InkCanvas) 24
2.2.2 触笔和手势 26
2.2.3 触笔事件 27
2.2.4 墨迹笔画(Stroke)和墨迹数据(StrokeCollection) 27
2.3 自定义墨迹画板 29
2.3.1 静态呈现和动态呈现 29
2.3.2 制作自定义墨迹控件 29
2.4 利用自定义墨迹画板实现动态绘图 30
2.4.1 绘制球形 30
2.4.2 绘制球形序列 31
2.4.3 绘制矩形和矩形序列 32
2.4.4 绘制图像和图像序列 33
2.4.5 绘制渐变直线 34
2.4.6 绘制渐变曲线和文字 34
2.4.7 选择、编辑、缩放与橡皮擦 35
2.4.8 保存和打开墨迹文件 36
2.5 功能扩展建议 37
习题 37
第3章 进程、线程与应用程序域 38
3.1 进程和线程 38
3.1.1 基本概念 38
3.1.2 进程管理(Process类) 39
3.1.3 线程管理(Thread类) 44
3.1.4 线程池(ThreadPool类) 46
3.1.5 多线程编程中的资源同步 47
3.1.6 WPF中的多线程编程模型 48
3.2 应用程序域及其基本操作 51
3.2.1 基本概念 51
3.2.2 程序集与反射 52
3.2.3 创建和卸载应用程序域(AppDomain类) 54
习题 57
第4章 数据流与数据的加密和解密 58
4.1 数据编码和解码 58
4.1.1 常见的字符集编码方式 58
4.1.2 利用Encoding类实现编码和解码 59
4.2 数据流 61
4.2.1 文件流(FileStream) 61
4.2.2 内存流(MemoryStream) 64
4.2.3 网络流(NetworkStream) 64
4.2.4 加密流(CryptoStream) 66
4.2.5 StreamReader和StreamWriter类 67
4.2.6 BinaryReader和BinaryWriter类 67
4.3 数据加密与数字签名 67
4.3.1 对称加密 68
4.3.2 不对称加密 73
4.3.3 密钥容器 74
4.3.4 数字签名 75
习题 76
第5章 异步编程 77
5.1 并行和异步编程预备知识 77
5.1.1 任务(Task类、Task类) 77
5.1.2 Lambda表达式 78
5.1.3 Action和Func委托 80
5.1.4 元组(Tuple类) 82
5.2 异步编程基本技术 83
5.2.1 异步编程的实现方式和异步操作关键字 83
5.2.2 创建任务 86
5.2.3 取消或终止任务的执行 93
5.2.4 获取任务执行的状态 96
5.2.5 报告任务执行的进度 98
5.2.6 定时执行某些任务 100
习题 102
第6章 并行编程 103
6.1 基本概念 103
6.1.1 并行编程的实现方式 103
6.1.2 任务并行库(TPL)及其分类 104
6.1.3 并行编程中的分区(Partitioner) 105
6.2 Parallel类及其帮助器类 106
6.2.1 Parallel类 106
6.2.2 Parallel帮助器类 109
6.2.3 用于线程全局变量的数据结构 110
6.3 数据并行 111
6.3.1 利用Parallel.For方法实现数据并行 111
6.3.2 利用Parallel.ForEach方法实现数据并行 117
6.4 任务并行 120
6.4.1 Parallel.Invoke方法 120
6.4.2 任务调度 123
6.4.3 任务等待与组合 126
习题 128
第2篇 面向服务的WCF编程
第7章 WCF入门 130
7.1 预备知识 130
7.1.1 XML 130
7.1.2 Web Service 131
7.1.3 远程处理(RPC) 133
7.1.4 消息队列(MSMQ) 134
7.1.5 面向服务的体系结构(SOA) 134
7.2 WCF入门 135
7.2.1 WCF基础知识 135
7.2.2 WCF体系结构 138
7.2.3 承载WCF的方式 139
7.3 WCF服务端和客户端编程基础 141
7.3.1 WCF服务端编程模型 141
7.3.2 WCF客户端编程模型 143
7.3.3 编写服务端和客户端程序的基本思路 144
7.4 设计和实现协定 150
7.4.1 协定和特性 150
7.4.2 服务协定 151
7.4.3 数据协定 152
7.4.4 消息协定 156
7.5 服务绑定与终结点配置 159
7.5.1 在服务端配置文件中配置WCF服务 159
7.5.2 终结点绑定方式 161
7.5.3 需要绑定的元素及其含义 162
习题 164
第8章 WCF和HTTP应用编程 165
8.1 HTTP简介 165
8.1.1 HTTP的特点 165
8.1.2 HTTP的请求与响应 166
8.1.3 HTTP应用编程的技术选择 168
8.2 WCF中与HTTP相关的绑定 168
8.2.1 基本HTTP绑定(BasicHttpBinding类) 168
8.2.2 其他常用的HTTP绑定 170
8.3 WCF客户端和服务端的消息交换模式 171
8.3.1 请求应答模式(Action/Reply) 172
8.3.2 单向模式(IsOneWay) 175
8.3.3 双工通信 176
8.3.4 同步操作和异步操作 180
8.4 WCF和HTTP编程示例 180
8.4.1 五子棋游戏规则描述 181
8.4.2 服务端和客户端通信接口 181
8.4.3 服务端编程 184
8.4.4 客户端编程 191
习题 202
第9章 WCF和TCP应用编程 203
9.1 TCP应用编程概述 203
9.1.1 TCP的特点 203
9.1.2 TCP应用编程的技术选择 204
9.2 利用传统技术实现TCP应用编程 205
9.2.1 TcpClient类和TcpListener类 205
9.2.2 基本用法示例 208
9.3 利用WCF实现TCP应用编程 217
9.3.1 WCF与TCP相关的绑定 218
9.3.2 利用WCF和TCP编写网络游戏 218
习题 235
第10章 WCF和UDP应用编程 236
10.1 UDP应用编程概述 236
10.1.1 UDP基本知识 236
10.1.2 UDP应用编程的技术选择 238
10.2 利用任务模型实现UDP应用编程 238
10.2.1 利用UdpClient类发送和接收数据 238
10.2.2 利用UdpClient实现群发功能 243
10.2.3 利用UdpClient实现网络会议讨论 246
10.3 利用WCF实现UDP应用编程 251
10.3.1 定义和实现协定 251
10.3.2 承载和配置WCF服务 252
10.3.3 添加服务引用 253
10.3.4 添加客户端窗口和调用代码 253
习题 257
第11章 WCF和MSMQ应用编程 258
11.1 MSMQ基础知识 258
11.1.1 队列和事务 258
11.1.2 WCF与MSMQ相关的绑定 260
11.2 WCF和MSMQ基本用法示例 263
11.2.1 可靠排队通信和快速排队通信 263
11.2.2 双向通信 271
11.3 WCF和MSMQ的高级处理功能 275
11.3.1 使用死信队列处理消息传输故障 275
11.3.2 使用病毒消息队列处理反复出现的故障 283
11.3.3 其他高级处理功能 285
习题 286
第12章 综合实例——商场销售服务系统 287
12.1 系统要求与架构设计 287
12.1.1 系统要求 287
12.1.2 系统总体架构设计 288
12.1.3 服务端功能 289
12.1.4 客户端功能 289
12.1.5 数据库结构设计 290
12.2 功能实现及扩展建议 291
12.2.1 服务端功能实现示例 291
12.2.2 客户端功能实现示例 293
12.2.3 组内分工合作及系统扩展建议 302
附录A 上机练习 303
A.1 视频动态绘制练习 303
A.2 多任务网段扫描练习 304
A.3 矩阵并行计算练习 304
A.4 WCF和HTTP文件传输练习 305
A.5 WCF和TCP消息通信练习 305
附录B 综合设计 307
B.1 综合设计分组 307
B.2 基本要求和功能扩展建议 307
B.2.1 系统选题要求 307
B.2.2 系统基本功能要求 308
B.2.3 功能扩展建议 308
B.3 源程序和文档提交要求 308

封面图:

发表评论

相关文章