实例一 用WinSock实现网上聊天 1
主要内容 1
本例提要 1
技术专题 2
WinSock简介 2
WinSock API主要函数的使用 3
MFC对WinSock API的封装 5
步骤之一——实现聊天服务器 6
建立一个新项目 6
添加新类CListeningSocket 7
添加代码实现固定端口的监听 8
添加新类CClientSocket 11
添加代码实现与客户端的通信 13
测试项目 17
步骤之二——实现聊天客户端 17
选择服务器 17
添加新类CChatSocket 20
连接服务器 20
与服务器通信 21
与服务器联合测试 24
实例二 获取主机名和IP地址 25
主要内容 25
本例提要 25
技术专题 25
获取主机名和IP地址的机理 25
步骤——获取本地计算机的主机名和IP地址 28
建立一个新项目 28
CIPEnum类及其实现 28
CMyIPEnum类及其实现 31
程序的主函数 32
实例三 枚举网上邻居 34
主要内容 34
本例提要 34
技术专题 34
WNet API 34
WNet API中的函数 36
步骤——实现网上邻居枚举工具 41
建立一个新项目 41
添加CNetwork类对WNet API进行包装 41
创建模板类CNetSearch 48
在对话框中完成枚举任务 50
实例四 Ping与Trace Route 52
主要内容 52
本例提要 52
技术专题 53
Internet控制报文协议ICMP 53
ICMP报文格式 54
ICMP报文的分类 55
建立一个新项目 59
步骤——实现一个实用工具PingPlus 59
添加并实现CIcmp类 60
添加并实现RegKey类 68
添加并实现sysTCPIP类 71
实现具体的用户操作过程 74
实例五 编程实现Telnet 79
主要内容 79
本例提要 79
技术专题 80
Telnet(远程登录) 80
NT服务程序编程原理 82
建立一个新项目 87
添加CNTService类包装NT服务器程序 87
步骤之一——实现Telnet服务器 87
添加SMRemoteService类实现Telnet服务程序 95
服务程序的启动细节 100
步骤之二——实现Telnet客户机 101
建立一个新项目 101
实现服务器登录 101
与服务器远程交互 102
本例提要 106
实例六 邮件收发程序 106
主要内容 106
技术专题 107
邮件格式 108
SMTP协议简介 108
SMTP协议扩展 110
多用途网际邮件扩充 111
POP3协议简介 112
建立一个新项目 114
步骤之一——实现邮件发送程序 114
程序的整体结构 115
CSMTP类对SMTP协议的包装 116
邮件的包装类 122
MIME邮件格式 125
编码与解码 128
在界面上为邮件添加附件 129
发送邮件的过程 130
建立一个新项目 131
步骤之二——实现邮件接收程序 131
CPop类对POP3协议的实现 132
任务条通知区的编程原理 139
使用CTrayIcon管理任务条通知区 141
在程序中监测服务器上的邮件 144
实例七 FTP客户程序 147
主要内容 147
本例提要 147
技术专题 148
FTP协议及其实现方法 148
使用Microsoft Internet Transfer控件 150
直接使用WinInet API 154
使用MFC WinInet类 159
步骤——使用WinInet实现FTP客户程序 172
建立一个新项目 172
添加代码连接到FTP服务器/断开连接 173
添加代码定位/读写远程文件 176
World Wide Web 180
技术专题 180
本例提要 180
主要内容 180
实例八 WWW浏览器 180
统一资源定位符 181
超文本传送协议 185
使用Microsoft WebBrowser控件 188
使用CHtmlView类 192
步骤——实现简单的WWW浏览器 192
建立一个新项目 192
在程序窗口创建时创建WebBrowser控件 193
完成程序的浏览任务 193
在项目中添加WebBrowser控件 193
实例九 RAS拨号上网 195
主要内容 195
本例提要 195
技术专题 196
RAS简介 196
拨号与挂断 198
连接管理 208
电话簿管理 211
步骤——实现RAS客户机 220
建立一个新项目 221
枚举计算机上已有的拨号连接 222
异步启动拨号连接 223
处理拨号事件 225
终止拨号 228
实例十 网络新闻组 229
主要内容 229
本例提要 229
网络新闻传送协议 231
Usenet新闻组 231
技术专题 231
步骤——实现NNTP客户端 233
建立一个新项目 233
实现主窗口的分割 233
设定参数 235
登录到NNTP服务器并获取新闻组列表 236
检索新闻组的文章 238
读取特定的文章 241
投递自己的文章 242
本例提要 246
技术专题 246
实例十一 Finger查询 246
主要内容 246
Finger协议 247
步骤——实现Finger客户机 248
建立一个新项目 248
添加并实现CFingerSocket类 248
添加并实现CFingerThread类 252
响应“Finger”按钮 256
附录 光盘使用说明 258