1
21
世纪高等学校计算机应用技术系列规划教材
C#网络应用高级编程
马
骏
编著
人民邮电出版社
2
内容提要
本书是《C#网络应用编程基础》的姊妹篇。该书在《C#网络应用编程基础》介绍的基础
知识之上,进一步讲解了利用 C#进行各种高级应用编程的方法和技巧。全书语言简洁,重点
突出,思路清晰,实用性强。教材紧跟 C#和 Microsoft Visual Studio 开发工具最新版本的变化
而及时更新。同时有与本书配套的实验指导、电子教案、所有例题与习题的源程序和全部习题
参考解答。
本书共分 8 章。其中第 1~5 章介绍了 C#多线程处理、TCP、UDP、SMTP 和 POP3 协议
的高级应用以及 P2P 应用编程,第 6 章介绍了网络数据加密与解密的方法,第 7 章介绍了三
维设计与多媒体编程方法,第 8 章为与本书配套的上机实验指导。
本书可作为高等院校计算机及相关专业的高年级学生教材,也适用于有一定的 C#语言编
程基础,而想利用 C#和 VS2005 开发工具进行更复杂的高级应用编程的人员阅读。
3
目
录
前 言 .............................................................................................................................................. 6
第 1 章 进程、线程与网络协议 ....................................................................................................... 7
1.1 进程和线程.......................................................................................................................... 7
1.1.1 Process 类 ................................................................................................................. 7
1.1.2 Thread 类 .................................................................................................................. 9
1.1.3 在一个线程中操作另一个线程的控件 ................................................................. 13
1.2 IP 地址与端口 ................................................................................................................... 15
1.2.1 TCP/IP 网络协议 .................................................................................................... 16
1.2.2 IPAddress 类与 Dns 类 ........................................................................................... 17
1.2.3 IPHostEntry 类 ........................................................................................................ 17
1.2.4 IPEndPoint 类 ......................................................................................................... 17
1.3 套接字 ............................................................................................................................... 19
1.3.1 Socket 类 ................................................................................................................. 20
1.3.2 面向连接的套接字 ................................................................................................. 21
1.3.3 无连接的套接字 ..................................................................................................... 23
1.4 网络流 ............................................................................................................................... 24
1.5 习题 1 ................................................................................................................................ 25
第 2 章 TCP 应用编程 .................................................................................................................... 27
2.1 同步 TCP 应用编程 .......................................................................................................... 28
2.1.1 使用套接字发送和接收数据 ................................................................................. 28
2.1.2 使用 NetworkStream 对象发送和接收数据 .......................................................... 30
2.1.3 TcpClient 与 TcpListener 类 ................................................................................... 31
2.1.4 解决 TCP 协议的无消息边界问题........................................................................ 33
2.2 利用同步 TCP 编写网络游戏 .......................................................................................... 34
2.2.1 服务器端编程 ......................................................................................................... 34
2.2.2 客户端编程 ............................................................................................................. 49
2.3 异步 TCP 应用编程 .......................................................................................................... 66
2.3.1 EventWaitHandle 类 ............................................................................................... 67
2.3.2 AsyncCallback 委托 ............................................................................................... 69
2.3.3 BeginAcceptTcpClient 方法和 EndAcceptTcpClient 方法 .................................... 70
2.3.4 BeginConnect 方法和 EndConnect 方法 ............................................................... 70
2.3.5 发送数据 ................................................................................................................. 71
2.3.6 接收数据 ................................................................................................................. 72
2.4 异步 TCP 聊天程序 .......................................................................................................... 73
2.4.1 服务器端设计 ......................................................................................................... 73
2.4.2 客户端设计 ............................................................................................................. 79
4
2.5 习题 2 ................................................................................................................................ 83
第 3 章 UDP 应用编程 .................................................................................................................... 84
3.1 UDP 协议基础知识 ........................................................................................................... 84
3.2 UDP 应用编程技术 ........................................................................................................... 84
3.2.1 UdpClient 类 ........................................................................................................... 84
3.2.2 发送和接收数据的方法 ......................................................................................... 86
3.3 利用 UDP 协议进行广播和组播 ...................................................................................... 90
3.3.1 通过 Internet 实现群发功能 .................................................................................. 90
3.3.2 在 Internet 上举行网络会议讨论 .......................................................................... 96
3.4 习题 3 ................................................................................................................................ 101
第 4 章 P2P 应用编程 ................................................................................................................... 102
4.1 P2P 基础知识 .................................................................................................................. 102
4.2 P2P 应用举例 .................................................................................................................. 104
4.3 习题 4 .............................................................................................................................. 114
第 5 章 SMTP 与 POP3 应用编程 ................................................................................................ 115
5.1 通过应用程序发送电子邮件 .......................................................................................... 115
5.1.1 SMTP 协议 ........................................................................................................... 115
5.1.2 发送邮件 ............................................................................................................... 116
5.2 利用同步 TCP 接收电子邮件 ........................................................................................ 120
5.2.1 POP3 工作原理 .................................................................................................... 121
5.2.2 邮件接收处理 ....................................................................................................... 123
5.3 习题 5 .............................................................................................................................. 127
第 6 章 网络数据加密与解密 ....................................................................................................... 128
6.1 对称加密.......................................................................................................................... 128
6.2 不对称加密...................................................................................................................... 133
6.3 通过网络传递加密数据 .................................................................................................. 137
6.4 Hash 算法与数字签名 .................................................................................................... 153
6.5 习题 6 .............................................................................................................................. 154
第 7 章 三维设计与多媒体编程 ................................................................................................... 154
7.1 简单的 3D 设计入门 ....................................................................................................... 155
7.2 DirectX 基础知识 ............................................................................................................ 161
7.2.1 左手坐标系与右手坐标系 ................................................................................... 161
7.2.2 设备....................................................................................................................... 161
7.2.3 顶点与顶点缓冲 ................................................................................................... 162
7.2.4 Mesh 对象 ............................................................................................................. 162
7.2.5 法线....................................................................................................................... 163
7.2.6 纹理与纹理映射 ................................................................................................... 163
7.2.7 世界矩阵、投影矩阵与视图矩阵 ....................................................................... 163
7.2.8 背面剔除 ............................................................................................................... 164
5
7.3 Primitive ........................................................................................................................... 165
7.4 Mesh................................................................................................................................. 172
7.5 灯光与材质...................................................................................................................... 177
7.6 音频与视频...................................................................................................................... 187
7.7 直接使用 SoundPlayer 类播放 WAV 音频文件 ............................................................. 192
7.8 习题 7 .............................................................................................................................. 194
第 8 章 上机实验指导 ................................................................................................................... 194
8.1 实验一 简单网络聊天系统 .......................................................................................... 195
8.2 实验二 网络呼叫应答提醒系统 .................................................................................. 196
8.3 实验三 文件数据加密与解密 ...................................................................................... 200
- 1
- 2
- 3
- 4
- 5
- 6
前往页