资料详情

Linux平台下的聊天软件的设计与开发

头像

Linux

编号:2878

目  录

论文页数: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操作系统的网络聊天软件基本成型,前期设计的一些功能需求也都得到了实现。这款软件目前所具备的功能已经能够满足日常的聊天需求。服务器经过多平台的测试后,能够稳定的运行。客户端图形界面效果良好,使用起来也简单易用。欠缺之处在于没有实现系统托盘,用户使用时只能通过点击任务栏的标签对软件进行显示或隐藏,这一部分的功能将会进一步的完善。

作为大学四年学习成果的总结,设计和编写这样一个软件能够将所学过的知识综合运用,并在实践中得到提高,达到了预期的总结并检验学习成果目的。当在开发过程中遇到问题时,分析并解决问题,在这一过程中能够逐步的充实自己,这是在做毕业设计的过程中让我得到的最大收益。