Linpop即时通讯系统
项目来源及背景
开发一款运行于Linux操作系统平台的IM(即时通信)软件,可以实现局域网内任意电脑之间的信息接受与发送,也可作为支持200人中小型企业,企业信息平台中的一个组件及功能存在。
项目要达到的目标
系统能够提供良好的用户界面,使操作人员的工作量最大限度的减少。
系统具有良好的运行效率,能够达到提高生产率的目的。
系统应有良好的可扩充性,可以容易的加入其它系统的应用。
通过这个项目可以,提高个人的开发能力和设计能力。
运行需求
操作系统:Ubuntu
数据库:MySQL
开发工具包:GTK , VIM+GCC+GDB+CMAKE
界面要求
(1)主界面:简洁、栏目、菜单设置和布局合理。
(2)导航:有明确的导航指示,且便于理解,方便用户使用。
(3)技术环境:页面大小适当,控制字体大小和版面布局。
(4)艺术风格:界面、版面形象清新悦目、布局合理,美观大方,色彩和谐自然。
系统主用例图
模块组成
服务器模块
聊天服务器采用数据库连接池、EPOLL线程池模型;模块的主要功能就是处理私聊、群聊、聊天记录查询、文件传输相关操作。
客户端GTK+模块
本模块负责客户端主界面创建,包括用户列表显示,包括在线与不在线的。单聊窗口的创建,群聊窗口的创建,用户信息设置等。以及在进行文件传送时进度条和文件名的显示。并且与客户端Socket模块一起,共同完成数据通信的操作。
客户端socket模块
本模块负责初始化与服务器的连接,发送数据给服务器,建立数据接收线程,循环接收服务器发送的消息,同时还得承担客户端间文件发送的功能。
模块结构
客户端GTK+模块文件
文件名描述
客户端主函数入口处源文件
客户端主函数入口处源文件对应的头文件
客户端GTK+模块主框架的建立源文件
客户端GTK+模块主框架的建立源文件对应的头文件
用户列表显示tree view源文件
用户列表显示tree view源文件对应的头文件
用户信息设置源文件
用户信息设置源文件对应的头文件
聊天窗口建立及维护源文件
聊天窗口建立及维护源文件对应的头文件
接受信息流程图
Linpop答辩 来自淘豆网m.daumloan.com转载请标明出处.