




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 s3c2440 平台的 UDP 网络编程的设计与实现详细设计总页数 无 生效日期 2013/12/30编制南昌航空大学东软班 详细设计报告 版本:0.1.02修 改 履 历修改编号 日期 修改人 版本号 修改内容1 0.1.0 初始做成南昌航空大学东软班 详细设计报告 版本:0.1.03目 录1 文档概述 .41.1 文档目的和范围 .41.2 术语/缩略语 .41.3 参考文档 .42 处理 .42.1 模块数据结构定义 .42.1.1 全局变量定义 .42.2 模块功能实现 .62.2.1 模块共有函数部分 .62.2.2 服务器模块内部函数 .152.2.3 客户端模块内部函数 .18南昌航空大学东软班 详细设计报告 版本:0.1.041 文档概述1.1 文档目的和范围该项目主要完成的是 Linux 下的聊天软件,主要包括客户端模块和服务器模块,本文档的主要内容是本项目的各个模块详细设计,包括相应的模块结构,函数声明,宏定义等,主要目的是为项目的编码阶段提供设计参考。1.2 术语 /缩略语序号 术语/缩略语 说明1 QT 图形界面设计2 SOCKET 实现信息的发送与接收1.3 参考文档序号 文档名 作者 时间 版本1 详细设计模板 Neusoft 2007-11-9 0102 处理2.1 模块数据结构定义2.1.1 全局变量定义1. 宏定义#define SUCC 1#define FAIL 0南昌航空大学东软班 详细设计报告 版本:0.1.05#define MSG_REGISTER 1#define MSG_PW_FORGET 2#define MSG_INFO_CHANGE 3#define MSG_SEARCH 4#define MSG_ADD_ASK 5#define MSG_ADD_REPLY 6#define MSG_FRIEND_LIST 7#define MSG_STATE_CHANGE 8#define MSG_LOGIN 9#define MSG_HIDE 10#define MSG_OFFLINE 11#define MSG_CHAT_SEND 12#define MSG_CHAT_RECE 13#define MSG_FILE_SEND 14#define MSG_FILE_REPLY 15#define MSG_DELETE_FRI 16#define MSG_FRI_COMMENT 17#define MSG_SYS 182. 数据结构定义class MyFilepublic:QFile *local_file;qint64 total_bytes;qint64 bytes_written;qint64 bytes_to_write;qint64 load_size;QString file_name;QString file_path;南昌航空大学东软班 详细设计报告 版本:0.1.06qint64 bytes_rece;qint64 file_name_size;QByteArray out_block;QByteArray in_block;class Userpublic:QString no;QString name;QString password;QString ip;QString label;QString icon;QString pw_protect;int age;QString sex;int state;2.2 模块功能实现2.2.1 模块共有函数部分2.2.1.1 msg_process【函数式样】南昌航空大学东软班 详细设计报告 版本:0.1.07函数名 msg_process文件名 client.cpp server.cpp功能概要 分辨接收到的消息类型并处理记述形式 void msg_process (Message msg)参数类型 变量名 I/O 说明Message msg I 接收到的消息类型 void 说明返回值值 - -详细说明底层接收到消息后,触发槽函数 msg_process,在函数中通过对消息解析后调用不同的处理函数进行消息处理。使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.082.2.1.2 send_msg【函数式样】函数名 send_msg文件名 udpsocket.cpp功能概要 发送信息至服务器记述形式 int send_msg (int msg_op, Message msg, QString ip)参数类型 变量名 I/O 说明int msg_op I 要发送的信息的操作码Message msg I 要发送的信息QString ip I 信息接收端的 ip 地址返回值 类型 int 说明南昌航空大学东软班 详细设计报告 版本:0.1.09SUCC 正常结束值FAIL 异常结束详细说明将已经创建并填写的消息发送至服务器。使用注意事项消息必须预先创建好并填入信息后传入。【函数处理流程】2.2.1.3 draw_arc_windown【函数式样】函数名 draw_arc_windown文件名 ui界面文件中南昌航空大学东软班 详细设计报告 版本:0.1.010功能概要 绘制圆角窗口记述形式 bool draw_arc_windown ()参数类型 变量名 I/O 说明- - - -类型 bool 说明true 正常结束返回值值fail 异常结束详细说明绘制一个圆角矩形,并将圆角矩形设为当前窗口的矩形边框,是窗口设置成为圆角矩形。使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0112.2.1.4 get_local_ip【函数式样】函数名 get_local_ip文件名 udpsocket.cpp server.cpp功能概要 获得本机当前的 ip记述形式 QString get_local_ip();参数类型 变量名 I/O 说明- - - -类型 QString 说明返回值值 ip 返回本机当前的 ip 地址详细说明函数内部先通过接口获得包括环回地址在内的所有 ip,之后通过筛选选出正确的当前 ip。使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0122.2.1.5 receive_msg【函数式样】函数名 receive_msg文件名 udpsocket.cpp功能概要 接收信息并存储记述形式 void receive_msg()参数类型 变量名 I/O 说明南昌航空大学东软班 详细设计报告 版本:0.1.013- - - -类型 void 说明返回值值 - -详细说明当 readyRead()信号被触发时,进入该函数,获得消息队列中的信息,并发送信号 msg_received信号。使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0142.2.1.6 user_*系列函数【函数式样】函数名 user_*()文件名 client.cpp server.cpp功能概要 处理不同的消息所执行的对应函数记述形式 void user_*(QString msg) (槽函数)参数类型 变量名 I/O 说明QString msg I 要处理的消息类型 void 说明返回值值 - -详细说明处理对应类型的消息所执行的函数,该系列函数内部结构一致,执行结束后将执行结果返回各个 UI模块进行处理。使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0152.2.2 服务器模块内部函数exe【函数式样】函数名 exe文件名 mydatabase.cpp功能概要 设置菜单底色(即背影效果)记述形式 void exe(QString sql)参数类型 变量名 I/O 说明QString sql I 要执行的 sql 语句类型 void 说明返回值值 - -南昌航空大学东软班 详细设计报告 版本:0.1.016详细说明将要执行的 sql语句传入函数中,函数中通过 QSqlQuery的对象执行 sql语句并获得处理结果。使用注意事项无【函数处理流程】2.2.2.2 MyDatabase函数名 MyDatabase文件名 mydatabase.cpp功能概要 初始化数据库模块,打开数据库记述形式 MyDatabase() (构造函数)参数类型 变量名 I/O 说明- - - -类型 - 说明返回值值 - -南昌航空大学东软班 详细设计报告 版本:0.1.017详细说明本函数调用 qt 与 mysql 的接口模块,打开 mysql 数据库,并通过设置数据库名称密码等,打开对应的database,并在第一次使用服务器时在数据库中建立聊天系统运行必须的用户表及对应关系表。使用注意事项【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0182.2.3 客户端模块内部函数MousePressEvent函数名 MousePressEvent文件名 ui_*.cpp功能概要 获得鼠标按下时的坐标并保存记述形式 Void MousePressEvent(QMouseEvent *event)参数类型 变量名 I/O 说明QMouseEvent * event I 保存有当前的鼠标事件类型 void 说明返回值值 - -详细说明保存鼠标按下时的坐标,用于鼠标点击移动窗口。使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0192.2.3.2 MouseMoveEvent函数名 MouseMoveEvent文件名 ui_*.cpp功能概要 获得鼠标按下时的坐标并保存记述形式 Void MouseMoveEvent(QMouseEvent *event)参数类型 变量名 I/O 说明QMouseEvent * event I 保存有当前的鼠标事件类型 void 说明返回值值 - -详细说明获得鼠标移动时的坐标,并根据之前保存的鼠标按下时的坐标值来设置鼠标移动窗口后的位置。使用注意事项无南昌航空大学东软班 详细设计报告 版本:0.1.020【函数处理流程】2.2.3.3 Init函数名 init文件名 ui_*.cpp功能概要 用于初始化窗口记述形式 void init()参数类型 变量名 I/O 说明- - - -类型 void 说明返回值值 - -详细说明函数内部通过 qss 设置窗口背景和按钮样式,并设置窗口初始化时的位置。使用注意事项南昌航空大学东软班 详细设计报告 版本:0.1.021无【函数处理流程】2.2.3.4 set_friend_list函数名 set_friend_list文件名 ui_main.cpp功能概要 用于初始化客户端主界面的好友列表记述形式 void set_friend_list(QString msg)参数南昌航空大学东软班 详细设计报告 版本:0.1.022类型 变量名 I/O 说明QString msg I 包含有用户的所有好友类型 void 说明返回值值 - -详细说明用于处理接收服务器发送过来的好友信息,并初始化客户端主界面的好友列表。使用注意事项无【函数处理流程】南昌航空大学东软班 详细设计报告 版本:0.1.0232.2.3.5 contextMenuEvent函数名 contextMenuEvent文件名 ui_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技创新在光电考试中的应用试题及答案
- 药剂学与临床医学的结合点试题及答案
- 西医临床人际沟通试题及答案解析
- 系统架构设计中的最佳实践总结试题及答案
- 药物研究分子基础考试试题及答案
- 全面认识文化产业管理证书考试试题及答案
- 向前迈进2024年西医临床考试试题及答案
- 经济法函授试题及答案
- 药剂中草药应用探讨试题及答案
- 七年级下册第二单元致敬家乡爱国人物宣讲会大单元教学设计
- 2025年中考语文复习知识清单:语法知识与修辞手法(2类常考知识3个易错点)(原卷版+解析)
- 2025年中考英语作文社会热点分析及范文
- 红旗颂课件完整版本
- 中国心脑血管治疗仪行业市场调查研究及投资战略咨询报告
- 2024版房屋市政工程生产安全重大事故隐患考试试卷(含答案)
- 初中化学实验教学与科学教育融合的实践探索
- 积极老龄化理论的国内外研究进展
- 《建筑工程施工技术》课件-承插型盘扣式钢管脚手架施工
- 2023年天津医科大学眼科医院招聘考试真题
- 2024-2030年中国智慧校园行业竞争格局及投资商业模式分析报告版
- 八项制度学习心得体会
评论
0/150
提交评论