| 摘要 | 第1-5页 |
| Abstract | 第5-10页 |
| 第1章 绪论 | 第10-14页 |
| ·课题的背景 | 第10-11页 |
| ·即时通讯系统研究和应用现状 | 第11-12页 |
| ·本文的主要研究 | 第12-13页 |
| ·本文的内容安排 | 第13-14页 |
| 第2章 即时通讯系统的技术背景 | 第14-22页 |
| ·客户机/服务器模型 | 第14-16页 |
| ·即时通讯系统服务拓扑模型 | 第16-17页 |
| ·传输协议 | 第17-21页 |
| ·TCP/IP协议的产生和发展 | 第17-18页 |
| ·TCP/IP的优点 | 第18页 |
| ·TCP/IP的参考模型 | 第18-21页 |
| ·小结 | 第21-22页 |
| 第3章 Visual C++的网络编程 | 第22-34页 |
| ·套接字网络编程原理 | 第22-23页 |
| ·套接字简介 | 第22页 |
| ·套接字的分类 | 第22-23页 |
| ·基于MFC CSocket类的客户/服务器应用程序 | 第23-25页 |
| ·构造消息类 | 第23-24页 |
| ·套接字类 | 第24-25页 |
| ·多线程技术 | 第25-27页 |
| ·创建多线程程序 | 第25页 |
| ·线程同步 | 第25-27页 |
| ·数据库的访问技术—ADO技术 | 第27-29页 |
| ·ADO特点概述 | 第27-28页 |
| ·Visual C++中使用ADO | 第28页 |
| ·ADO接口简介 | 第28-29页 |
| ·软件护肤工具 | 第29-33页 |
| ·抽屉式菜单 | 第29-31页 |
| ·软件皮肤工具 | 第31-33页 |
| ·小结 | 第33-34页 |
| 第4章 NAT穿透技术分析 | 第34-51页 |
| ·NAT相关知识点 | 第34-35页 |
| ·NAT的定义 | 第34页 |
| ·NAT的分类 | 第34-35页 |
| ·穿透NAT方案的研究 | 第35-37页 |
| ·中转 | 第35-36页 |
| ·反向连接 | 第36-37页 |
| ·UDP Hole Punching技术 | 第37-43页 |
| ·会话方式 | 第38页 |
| ·公共NAT后面的结点 | 第38-40页 |
| ·不同NAT后面的节点 | 第40-41页 |
| ·多级NAT后面的节点 | 第41-43页 |
| ·UDP空间超时 | 第43页 |
| ·TCP Hole Punching技术 | 第43-47页 |
| ·套接字和TCP端口重用 | 第43-44页 |
| ·打开点对点的TCP流 | 第44-46页 |
| ·应用程序看到的行为 | 第46页 |
| ·同步TCP打开 | 第46-47页 |
| ·打洞方法的实现 | 第47-50页 |
| ·小结 | 第50-51页 |
| 第5章 即时通讯系统模块设计 | 第51-56页 |
| ·即时通讯系统的总体要求 | 第51-52页 |
| ·项目背景 | 第51页 |
| ·系统软件结构分析 | 第51页 |
| ·用户特点 | 第51-52页 |
| ·软件开发及运行环境分析 | 第52页 |
| ·即时通讯系统的整体构架和功能概述 | 第52-53页 |
| ·即时通讯系统模块的主要功能 | 第53-55页 |
| ·聊天功能 | 第54页 |
| ·查看历史信息功能 | 第54-55页 |
| ·小结 | 第55-56页 |
| 第6章 即时通讯系统的设计与实现 | 第56-71页 |
| ·即时通讯系统程序设计知识点 | 第56-57页 |
| ·消息的确定 | 第56-57页 |
| ·客户机类模块的构成 | 第57-66页 |
| ·类图结构 | 第57-58页 |
| ·客户机中主要类的说明 | 第58-66页 |
| ·服务器的说明 | 第66-68页 |
| ·服务器窗口说明 | 第66-68页 |
| ·打洞核心代码说明 | 第68-70页 |
| ·小结 | 第70-71页 |
| 第7章 总结与展望 | 第71-74页 |
| ·总结 | 第71页 |
| ·发展需求 | 第71-74页 |
| ·添加语音/视频 | 第71-72页 |
| ·加强信息传输的安全性 | 第72-73页 |
| ·集成企业短信中心 | 第73-74页 |
| 参考文献 | 第74-77页 |
| 致谢 | 第77-78页 |
| 作者在攻读学位期间公开发表的论文 | 第78页 |