3.3.2 模块划分 15
3.4 功能模块详细设计 15
3.4.1 网络连接模块 15
3.4.2 消息传输处理模块 17
3.4.3 消息加密/解密模块 19
3.4.4 历史记录模块 21
3.4.5 界面设计模块 24
4. 结论 26
4.1 功能实现效果图 26
4.2 系统评测 28
4.2.1 功能测试 28
4.2.2 可移植性测试 30
4.2.3 性能测试 30
4.2.4 UI测试 30
4.3 完成工作 30
4.3.1 消息文本实时传输 30
4.3.2 消息加密解密 30
4.3.3 历史记录功能 31
4.4 未来工作 31
4.4.1 用户登录验证 31
4.4.2 多用户登录 31
4.4.3 文件传输 32
4.5 心得体会 32
致谢 34
参考文献 35
附录 36
1. 绪论
1.1 课题背景
随着科技的发展,在如今社会,学习和工作中计算机技术发挥着越来越重要的作用,尤其是现在日益增长的智能设备,如智能手机和平板电脑等,二十年前的普通人群是无法接触甚至无法想象的,而今也已经普及,从小孩到老人,基本上都接触使用过科技发展的成果。目前很多服务器都是用Linux系统开发与文护,而且Google Android的源代码开发也是最好在Linux环境下,可见Linux操作系统的重要性,因此基于Linux操作系统的通信程序成为了不可或缺的一部分,当然,在网络通信中,数据安全和信息存储都扮演着很重要的角色。37801
图 1.1 操作系统发展史
目前的通讯软件基本上都集中在Microsoft Windows平台上,很少考虑Linux或智能手持设备终端用户的需求。然而,在后PC时代操作系统将向多平台的方向发展,在这一领域,而Linux平台将成为操作系统发展的一个热点。另一方面,随着科技的进步,网络通讯将以更稳定的方式进行传输,拥有更多的资源,以更方便的介入方式展现出来,将有更多的用户被吸引。因此开发一个基于Linux操作系统的具有消息传输加密、聊天记录存储的简易通讯程序是必要的。
该系统是在Linux操作系统环境上开发的,它是Unix大家族中的一员,Linux系统是一个基于Unix和POSIX的支持多用户,多线程,多任务的多CPU操作系统,可以运行主要的应用程序,网络协议和Unix软件,同时,它还支持32位和64位硬件平台,Linux继承了Unix的设计思想——以网络为核心,是一个性能稳定的实时的多用户操作系统,本系统此次使用的Linux桌面系统为Ubuntu 14.04 64位操作系统,Linux操作系统可以运行于不同的硬件平台上,这一点对于开发者来说是一件非常好的事情,尤其是可以进行各平台的系统移植。如Android系统的内核也是Linux系统内核,因此在Linux环境开发的好处在于以后能够很好的移植到移动终端。
QT是Nokia公司研发的集成开发环境,它有封装自己的一套库,所以能够实现跨平台编程。QT也是一个很好的用于C++图形用户界面的UI设计应用程序框架。QT框架给应用开发者提供了一套“艺术级”的用于图形用户界面开发所需的功能。它很容易扩展,并且允许组件编程,基本上,QT和X Window上面的GTK,Motif,Open win等图形界面库,和Microsoft Windows平台上的CL,ATL,VMFC,OWL是非常类似的。QT的模块化程度很高是因为有着良好的封装机制,具有可重用性,这为软件开发者提供了非常好的平台。QT提供了一种被称为信号和槽(signals/slots)的安全类型来替代callback,使不同模块之间的协同工作变得非常简洁。QT提供了基于模板的I/O device, date/time file, serialization, collections,directory management类,而且还包括了约250个C++类,甚至也包括了处理正则表达式的功能。支持2D/3D图形渲染,还支持OpenGL,拥有大量的开发文档。论文网 Linux环境下QT简易通信程序的设计与实现(2):http://www.751com.cn/jisuanji/lunwen_36665.html