第1章 进程、线程与网络协议 1
1.1 进程和线程 1
1.1.1 Process类 2
1.1.2 Thread类 3
1.1.3 在一个线程中操作另一个线程的控件 8
1.2 IP地址与端口 10
1.2.1 TCP/IP 11
1.2.3 IPHostEntry类 12
1.2.2 IPAddress类与Dns类 12
1.2.4 IPEndPoint类 13
1.3 套接字 14
1.3.1 Socket类 15
1.3.2 面向连接的套接字 17
1.3.3 无连接的套接字 19
1.4 网络流 19
习题 21
第2章 TCP应用编程 22
2.1.1 使用套接字发送和接收数据 23
2.1 同步TCP应用编程 23
2.1.2 使用NetworkStream对象发送和接收数据 25
2.1.3 TcpClient与TcpListener类 26
2.1.4 解决TCP的无消息边界问题 28
2.2 利用同步TCP编写网络游戏 29
2.2.1 服务器端编程 30
2.2.2 客户端编程 48
2.3 异步TCP应用编程 69
2.3.1 EventWaitHandle类 70
2.3.3 BeginAcceptTcpClient方法和EndAcceptTcpClient方法 73
2.3.2 AsyncCallback委托 73
2.3.4 BeginConnect方法和EndConnect方法 74
2.3.5 发送数据 75
2.3.6 接收数据 76
2.4 异步TCP聊天程序 77
2.4.1 服务器端设计 77
2.4.2 客户端设计 84
习题 90
第3章 UDP应用编程 91
3.1 UDP基础知识 91
3.2.1 UdpClient类 92
3.2 UDP应用编程技术 92
3.2.2 发送和接收数据的方法 93
3.3 利用UDP进行广播和组播 98
3.3.1 通过Internet实现群发功能 98
3.3.2 在Internet上举行网络会议讨论 106
习题 111
第4章 P2P应用编程 112
4.1 P2P基础知识 112
4.2 P2P应用举例 114
习题 126
第5章 SMTP与POP3应用编程 127
5.1 通过应用程序发送电子邮件 127
5.1.1 SMTP 127
5.1.2 发送邮件 128
5.2 利用同步TCP接收电子邮件 134
5.2.1 POP3工作原理 134
5.2.2 邮件接收处理 136
习题 141
第6章 网络数据加密与解密 143
6.1 对称加密 143
6.2 不对称加密 149
6.3 通过网络传递加密数据 153
6.4 Hash算法与数字签名 172
习题 174
第7章 三维设计与多媒体编程 175
7.1 简单的3D设计入门 176
7.2 DirectX基础知识 182
7.2.1 左手坐标系与右手坐标系 182
7.2.2 设备 183
7.2.5 法线 184
7.2.6 纹理与纹理映射 184
7.2.4 Mesh对象 184
7.2.3 顶点与顶点缓冲 184
7.2.7 世界矩阵、投影矩阵与视图矩阵 185
7.2.8 背面剔除 186
7.3 Primitive 186
7.4 Mesh 195
7.5 灯光与材质 201
7.6 音频与视频 214
7.7 直接使用SoundPlayer类播放WAV音频文件 219
习题 221