目 录
论文页数:26页
1 引言 1
1.1 课题的背景及意义 1
1.2 网络聊天软件的发展及现状 1
1.3 TCP/IP协议简介 2
1.3.1 TCP协议简介 2
1.3.2 UDP协议简介 2
1.4 套接字简介 3
1.5 开发平台简介 3
1.5.1 Linux系统简介 3
1.5.2 Gtk+图形开发库简介 4
1.5.3 Gnome的开发结构简介 4
1.5.4 Glade集成开发工具简介 4
1.5.5 编程语言和编程工具简介 5
1.6 本章小结 5
2 软件需求分析 5
2.1 软件功能需求 5
2.2 总体性能需求 6
2.2.1 服务器端性能需求 6
2.2.2 客户端性能需求 6
2.3 错误处理需求 6
2.4 本章小结 6
3 程序设计方案 6
3.1 方案比较 6
3.1.1 采用TCP方式连接 6
3.1.2 采用UDP方式连接 7
3.2 方案选择 8
3.3 总体设计方案 8
3.3.1 服务器功能模块划分 8
3.3.2 客户端功能模块划分 8
3.3.3 消息标识的定义 9
3.3.4 消息结构体的设计 10
4 软件流程 11
4.1 服务器消息处理流程 11
4.2 客户端操作流程 12
4.3 客户端消息发送和接收流程 13
4.4 申请用户流程 14
5 详细设计 15
5.1 服务器主要函数和变量 15
5.2 服务器消息处理模块的设计与实现 15
5.3 服务器数据存储的方法 16
5.4 客户端主要窗口设计 17
5.5 客户端主要函数和变量 20
5.6 客户端功能模块的设计与实现 21
5.7 本章小结 23
结 论 23
参考文献 24
致 谢 25
声 明 26
结 论
在经过了几个月的设计和编写过后,一套适用于Linux操作系统的网络聊天软件基本成型,前期设计的一些功能需求也都得到了实现。这款软件目前所具备的功能已经能够满足日常的聊天需求。服务器经过多平台的测试后,能够稳定的运行。客户端图形界面效果良好,使用起来也简单易用。欠缺之处在于没有实现系统托盘,用户使用时只能通过点击任务栏的标签对软件进行显示或隐藏,这一部分的功能将会进一步的完善。
作为大学四年学习成果的总结,设计和编写这样一个软件能够将所学过的知识综合运用,并在实践中得到提高,达到了预期的总结并检验学习成果目的。当在开发过程中遇到问题时,分析并解决问题,在这一过程中能够逐步的充实自己,这是在做毕业设计的过程中让我得到的最大收益。