[关键词] TCP/IP;Socket通信;MFC;SQL Server
1.2.3 本系统解决的关键问题和解决思路
关键问题一:
如何实现客户端和服务器、客户端和客户端的通信?采用什么通信模式?基于什么协议?
解决思路:
在Socket的基础上客户端和服务器的通信采用基于TCP协议的可靠连接通信,客户端和客户端的通信采用基于UDP协议的数据报通信。其Socket我采用MFC中CSocket类的继承来实现,其操作简单方便。
关键问题二:
客户端和客户端的文件传输如何实现,采用什么方式?
解决思路:
我的程序的开发采用的MFC框架,其完全支持C/C++语言。所以文件传输我采用MFC自带的CFile类和CFIileDlg来进行操作。
关键问题三:
数据库的操作如何实现,采用什么技术方法?
解决思路:
采用ODBC数据库互联,服务器和客户端都可直接连接数据库。服务器方有对数据库修改的权力。客户端在登陆的时判断,如果是新用户需要注册并生成相应的用户表用户表记录该用户的聊天记录。其实现方法主要使用MFC自带的CDatabase 和CRecordset类来实现。
关键问题四:
界面设计和对MFC控件的操作怎么办?
解决思路:
MFC中的控件就是对应着相应的类,对控件的操作就是对类的操作,其主要实现利用消息相应方法完成。
目 录
1 绪论 1
1.1 本系统研究的背景 1
1.2 本系统研究的意义和目的 1
1.2.1 本系统研究的意义 1
1.2.2 本系统研究的目的 2
1.2.3 本系统解决的关键问题和解决思路 2
2 聊天系统开发的技术支持 3
2.1 TCP/IP网络传输协议的支持 3
2.1.1 TCP/IP概述 3
2.1.2 逻辑结构 3
2.1.3 本系统涉及到的协议说明 4
2.2 开发框架MFC的概述 4
2.2.1 MFC说明 4
2.2.2 MFC宏观框架体系 5
2.2.3 MFC基于对话框的编程简要 5
2.3 SOCKET 套接字支持 5
2.3.1 SOCKET 概述 5
2.3.2 SOCKET 的通信模式 6
2.4 SQL SERVER数据库的支持 7
2.4.1 SQL SERVER概述说明 7
2.4.2 MFC中SQL SERVER的支持 7
2.5 其他软硬件的支持 7
3 网络聊天系统的需求分析 8
3.1 系统开发的可行性分析 8
3.1.1 系统开发的外因支持分析 8
3.1.2 系统的主要技术分析 8
3.1.3 MFC 和数据库应用分析 11
3.2 系统的功能模块分析 12
3.2.1 信息通信模块分析 12
3.2.2 文件传输模块 13
3.2.3 用户登录和聊天记录管理 13
4 网络聊天系统的设计和实现 14
4.1 窗体的设计与实现 14
4.1.1 服务器端设计实现 14
4.1.2 客户端设计实现 15
4.2 SOCKET的设计与实现 17
4.2.1 C/S SOCKET设计 17
4.2.2 C/C SOCKET设计 18
4.3 数据库操作的设计与实现 18
4.3.1 数据库操作的设计 18
4.3.2 数据库操作的实现 19
4.4 文件传输的设计与实现 20
4.5 其他功能选项的设计与实现 21
4.5.1 线程应用说明 21
4.5.2 用户列表操作与实现 22
5 网络聊天系统的主要编码与实现 23
5.1 服务器端主要代码 23
5.2 客户端主要代码 23
6 网络聊天系统的测试与运行 24
6.1 服务器和客户端登录连接测试 24
6.2 客户端和服务器通信测试 27
6.3 客户端和客户端通信测试 28
6.4 客户端的文件传输测试 28
结束语 31
参考文献 32
致谢 33