第1章 网络开发基础 /1
1.1 OSI参考模型 /1
1.1.1 OSI分层模型 /1
1.1.2 OSI各层介绍 /2
1.2 TCP/IP网络模型 /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 通用数据库访问类AccessHelper /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