目录
— 、 概 述 1
1 . 1 设 计 目 的 : 1
1 . 2 设 计 内 容 : 1
1 . 2 . 1 功 能 设 计 : 1
1 . 2 . 2 界 面 设 计 : 1
1 . 2 . 3 客 户 端 、 服 务 器 设 计 : 1
1 . 3 设 计 要 求 : 1
二 、 设 计 任 务 分 析 1
2 . 1 功 能 设 计 分 析 : 1
2 . 2 界 面 设 计 : 1
2. 3 客 户 端 、 服 务 器 设 计 : 1
2 . 3 . 1 客 户 端 设 计 : 1
2 . 3 . 2 服 务 器 端 设 计 : 1
三 、 总 体 设 计 2
3. 1 界 面 设 计 结 果 2
3 . 1 . 1 登 陆 、 注 册 对 话 框 2
3 . 1 . 2 主 界 面 对 话 框 2
3 . 2 客 户 端 程 序 处 理 流 程 图 : 3
3. 3 服 务 器 端 程 序 处 理 流 程 图 4
四 、 程 序 实 现 5
4. 1 消 息 结 构 体 : 5
4 . 1 . 1 消 息 结 构 体 5
4 . 1 . 2 消 息 模 板 : 5
4 . 1 . 3 解 释 : 5
4 . 2 客 户 端 程 序 实 现 : 5
4 . 2 . 1 客 户 端 自 定 义 套 接 字 类 ( 继 承 M F C 抽 象 类 C S O C K E T ) 实 现 : 5
4 . 2 . 2 登 陆 、 注 册 对 话 框 实 现 : 6
4 . 2 . 3 主 对 话 框 实 现 : 7
4 . 3 服 务 器 程 序 实 现 : 10
五 、 运 行 结 果 : 15
5 . 1 登 陆 、 注 册 : 15
5 . 2 消 息 发 送 : 17
5 . 2 . 1 单 发 消 息 : 17
5 . 2 . 2 群 发 消 息 : 18
5 . 3 文 件 发 送 : 19
六 、 心 得 与 体 会 20
6 . 1 遇 到 的 问 题 及 解 决 方 案 20
6 . 1 . 1 服 务 器 如 何 与 多 个 客 户 端 进 行 交 互 ? 20
6 . 1 . 2 : 如 何 实 现 客 户 端 消 息 的 非 阻 塞 式 接 收 ? 20
6 . 2 心 得 与 体 会 : 21
参 考 文 献 : 21
— 、概述
1.. 1 设 计 目 的 :
设计一个基于 LAN 的即时通信软件,实现在局域网下可靠的、稳定的即时通信功能以及其从属的附加功能。 1 . 2 设 计 内 容 :
1.. 2 . 1 功 能 设 计 :
·实现一对一的单播通信,包括消息发送与接收以及文件的发送与接收;
·实现一对多的多播通信,包括消息的发送与接收;
·附加功能:实现登陆、注册、获取当前在线情况等功能;
1 . 2 . 2 界 面 设 计 :
·客户端的交互界面设计。
1 . 2 . 3 客 户 端 、 服 务 器 设 计 :
·客户端需要完成的功能;
·服务器需要完成的功能;
·客户端、服务器的交互设计;
1.. 3 设 计 要 求 :
结合《计算机网络》课程所学的知识以及查阅相应的资料完成相应的设计内容, 且需要保证设计的质量以及程序的可靠性和稳定性。
二、设计任务分析
2.. 1 功 能 设 计 分 析 :
·实现一对一的单播、多播通信:
主要运用消息转发技术,需要服务器来处理消息的解析和转发;其中消息的解析包括获取消息的发送者、接收者、类别;针对不同的解析结果需要做出不同的响应。
·实现附加功能:
实现登陆、注册、获取当前在线情况等功能;将客户端对附加功能的调用当作特殊的请求消息发送给服务器,服务器解析后做出不同的响应。 2 . 2 界 面 设 计 :
客户端界面需要有较好的交互性,因此需要设计:
·登陆、注册对话框:包括用户名输入框、登陆和注册按钮;
·主界面对话框:包括消息发送编辑框、消息接收显示区、好友在线情况显示区、发送按钮、以及登陆按钮; 2 . 3 客 户 端 、 服 务 器 设 计 :
2 . 3 . 1 客 户 端 设 计 :
·获取客户所发送的消息内容;
·根据客户要求封装消息并发送消息;
·接收服务器发来的消息;
·解析接收的消息并执行对应响应的功能;
2.. 3 . 2 服 务 器 端 设 计 :
·获取客户端发来的消息
·解析消息并执行对应的处理
·将处理结果封装成消息发送给指定客户