第1章 网络开发基础 1
1.1 OSI参考模型 1
1.1.1 OSI分层模型 1
1.1.2 OSI各层介绍 2
1.2 TCPIP网络模型 4
1.2.1 TCP协议和UDP协议 5
1.2.2 端口 5
1.2.3 套接字Socket 6
1.3 C#网络开发相关的类概览 8
1.3.1 网络开发相关的命名空间 8
1.3.2 网络开发相关的类 9
1.4 Windows常用网络命令 10
1.4.1 ipconfig命令 10
1.4.2 ping命令 11
1.4.3 netstat命令 12
1.4.4 nbtstat命令 14
1.5 小结 15
1.6 习题 15
第2章 C#语言基础 16
2.1 C#语言及开发环境简介 16
2.1.1 C#语言简介 16
2.1.2 熟悉Visual Studio 2008 17
2.2 数据类型及类型的转换 22
2.2.1 数据类型 22
2.2.2 数据类型的转换 23
2.3 数组、字符串和结构体 25
2.3.1 数组 25
2.3.2 字符串 28
2.3.3 结构体 29
2.4 集合相关类 30
2.4.1 动态数组ArrayList 31
2.4.2 堆栈Stack 33
2.4.3 队列Queue 34
2.4.4 哈希表HashTable 34
2.5 异常的处理 36
2.6 多线程 38
2.6.1 进程与线程 38
2.6.2 Thread类 39
2.6.3 线程的操作 39
2.6.4 线程举例 42
2.7 委托和事件 43
2.7.1 委托delegate 43
2.7.2 事件Event 46
2.8 文件、目录和流 48
2.8.1 文件和目录操作 48
2.8.2 NetWorkStream网络流 52
2.9 小结 54
2.10 习题 54
第3章 电子邮件的发送和接收 56
3.1 项目展示 56
3.2 任务1:电子邮件的发送 57
3.2.1 SMTP协议简介 57
3.2.2 SMTP相关的类 59
3.2.3 任务实施 61
3.3 任务2:电子邮件的接收 65
3.3.1 POP3协议简介 65
3.3.2 LumiSoft库简介 66
3.3.3 任务实施 68
3.4 小结 73
3.5 习题 73
第4章 FTP客户端设计 74
4.1 项目展示 74
4.2 任务1:配置FTP服务器 75
4.2.1 FTP概述 75
4.2.2 配置FTP服务器 76
4.3 FTP客户端开发相关的类 77
4.3.1 FtpWebRequest和FtpWebResponse 77
4.3.2 TreeView控件 78
4.4 任务2:实现FTP文件上传功能 80
4.4.1 在C#程序中调用Windows API 80
4.4.2 用TreeView控件实现本地文件浏览 81
4.4.3 任务实施 84
4.5 任务3:实现FTP文件下载功能 87
4.6 小结 88
4.7 习题 89
第5章 局域网综合工具设计 91
5.1 项目展示 91
5.2 任务1:获得本机IP和主机名 92
5.2.1 IPAddress类和IPHostEntry类 92
5.2.2 DNS类 92
5.2.3 任务实施 93
5.3 任务2:局域网主机扫描 93
5.3.1 ProcessStartInfo和Process类 94
5.3.2 任务实施 96
5.4 任务3:局域网端口扫描 97
5.4.1 ICMP协议简介 97
5.4.2 Ping相关类 98
5.4.3 Socket类 99
5.4.4 任务实施 100
5.5 任务4:局域网聊天 102
5.5.1 TcpClient类 104
5.5.2 TcpListener类 106
5.5.3 监听类Listener 106
5.5.4 发送类Sender 107
5.5.5 任务实施 108
5.6 任务5:局域网广播 110
5.6.1 相关知识 110
5.6.2 任务实施 110
5.7 小结 113
5.8 习题 113
第6章 Web Service应用设计 116
6.1 项目展示 116
6.2 Web Service简介 117
6.3 任务1:实现天气预报功能 119
6.4 任务2:实现国内航班查询功能 123
6.5 任务3:创建Web服务 125
6.6 小结 128
6.7 习题 129
第7章 网络五子棋游戏 130
7.1 项目展示 130
7.2 任务1:游戏的设计 131
7.2.1 功能的设计 131
7.2.2 数据结构的设计 131
7.2.3 应用协议的设计 132
7.2.4 坐标的转换 133
7.3 任务2:程序资源的组织 133
7.3.1 图片资源 133
7.3.2 声音资源 135
7.4 任务3:游戏胜负的判断 135
7.5 任务4:网络通信类的设计 137
7.5.1 监听类 138
7.5.2 发送类 139
7.6 任务5:游戏中的事件 140
7.6.1 主窗体加载事件 140
7.6.2 鼠标事件 140
7.6.3 更新事件 141
7.6.4 键盘事件 142
7.7 项目的实施 142
7.8 小结 145
7.9 习题 145
第8章 Remoting通信技术 147
8.1 Remoting技术概述 147
8.2 Remoting体系的基本元素 148
8.3 远程对象 149
8.4 Remoting通道 150
8.4.1 Remoting通道的注册 151
8.4.2 Remoting通道的注销 152
8.5 远程对象的激活方式 153
8.6 访问远程Access数据库 157
8.6.1 ADO.NET概述 157
8.6.2 创建远程数据库访问的共享类 159
8.6.3 服务端RemoteDbServer 160
8.6.4 客户端RemoteDbClient 161
8.7 小结 163
8.8 习题 163
第9章 无纸化考试系统 164
9.1 项目展示 164
9.2 任务1:系统结构与功能设计 166
9.2.1 系统结构设计 166
9.2.2 功能设计 167
9.3 任务2:数据库设计 169
9.4 任务3:数据库访问设计 170
9.4.1 通用数据库访问类 171
9.4.2 建立模型层 173
9.4.3 数据访问层 176
9.4.4 业务逻辑层 182
9.4.5 外观层设计 184
9.5 任务4:辅助类设计 190
9.6 任务5:远程对象设计 197
9.7 任务6:服务器端设计 199
9.7.1 服务器登录窗体设计 199
9.7.2 服务器主窗体设计 201
9.7.3 服务器中心窗体 202
9.7.4 服务器配置窗体 204
9.7.5 考生监视窗体 206
9.7.6 成绩浏览窗体 209
9.8 任务7:客户端设计 210
9.8.1 考生登录窗体设计 210
9.8.2 考试窗体设计 213
9.9 小结 220
9.10 习题 220
第10章 应用程序的发布和美化 221
10.1 概述 221
10.2 应用程序的发布 221
10.3 应用程序的美化 225
10.4 小结 227
10.5 习题 227
附录A 课程设计参考方案 228
附录B C#编码参考规范 231
参考文献 234