普通高等学校计算机教育“十二五”规划教材

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

分享 推荐 7 收藏 15 阅读 8.4K
马骏 (主编) 978-7-115-36259-9

关于本书的内容有任何问题,请联系 张斌


1.工业和信息化部"十二五"规划教材
2.案例丰富,是作者多年教学和科研的结晶
3.教材配套资料全,适合教学需求
4.书中含实验内容

内容摘要


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

目录

目 录

第 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<TResult>类) 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

读者评论

  • 27页最后一段似乎有错。

    另外马老师!

    人邮教育123发表于 2018/3/4 9:10:56

我要评论

作者介绍

   马骏,男,河南大学计算机学院教授,长期从事计算机教学与科学研究。主要研究方向是空间数据处理及应用。近年来主持和参与国家重大科技专项项目3项,省级以上其他项目6项,横向项目十余项,在国内外刊物上发表论文40余篇,主编国家级十二五规划教材2本,工信部十二五规划教材一本,21世纪高等学校计算机精品系列规划教材5部。

推荐用户

同系列书

  • 办公自动化技术与应用(第2版)

    李岚

    本书全面介绍了办公软件在办公工作中的具体应用,常用办公设备的安装、使用和维护,系统的安全及优化,以及局域网的设...

    ¥39.80
  • MySQL数据库教程(视频指导版)

    郑阿奇

    本书以当前较流行的MySQL5.7作为平台,系统介绍MySQL数据库原理及其应用。具体内容涉及MySQL初步、...

    ¥49.80
  • 计算机英语(第3版)

    司爱侠 张强华

    本书是为培养计算机人才的专业英语能力而编写的教材,主要内容包括:计算机硬件和软件基础、外部设备、操作系统、数据...

    ¥54.00
  • Office高级应用案例教程

    文海英

    本书内容涵盖:word高级应用篇(第1,2章)、excel高级应用篇(第3,4章)、powerpoint高级应...

    ¥52.00
  • 办公自动化案例教程

    肖辉军

    本书以Windows系统平台为基础,系统地了解和掌握常用办公自动化软件的基础知识、基本操作方法和技巧。全书共8...

    ¥49.80

购买本书用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部