Linux平台下的聊天软件的设计与开发
摘 要
如今互联网技术高度发达,网络聊天软件作为一种开销低且方便快捷的通讯手段,被越来越多的人所使用。
本文阐述了如何使用GTK+图形开发库和C语言编写一个基于Linux平台运行的聊天软件的过程。文章主要分为四个部分,第一部分主要分析了该类产品的一个发展过程和开发此类软件的背景及意义。在此基础上,进一步的分析了该类产品的需求情况。在第三章中详细的介绍了所选取的开发环境,通过了解这些知识将会对该类软件的开发流程有一个总体的认识。之后,在通过对预备方案的分析和总结后,最终确定设计路线。
程序设计路线这一章节对该软件的各个功能模块和操作处理流程进行了详细的划分和设计,并且运用各种图表清晰的展现了软件的模块信息和总体结构。软件的预期效果在这一章节中得到了体现,完成效果符合前期的需求分析。
最后总结了该软件开发的不足之处,还有软件需要完善的部分。
关键词:Linux系统;C/S结构;TCP/IP协议;网络编程;图形用户界面
Design and Implementation of Chat Software on the Platform of Linux Operating System
Abstract
Nowadays the network technology develops very rapidly, the chat program as a cheap and quick means of communication has been adopted by more and more people in the world.
This disquisition expounds how to use the GTK+ and C cord a chat program based on the Linux platform, and the paper is divided into four parts. The first part is to deal with the development of this product and the background and significance of developing of this software. On this basis it goes on to describe the demand for this product. The third part introduces the choice about the circumstance of this development. With such knowledge in hand, we have a general idea of the developing program of this software. And the design idea will be determined through the analysis and summing-up of the preparatory design.
In the section dealing with the program design, all the function modes and their operation flow of this software give an account of the detailed division and design. In addition, all the charts show the information of the modes and their whole structures.http://www.16sheji8.cn/
Finally, the paper points out the shortcomings in the design of the software. And it is hoped that further efforts will be made in the design.
Key words: Linux Operating System; Client/Server Model; TCP/IP Protocol; Network Programming; Graphics User Interface
目 录
论文页数: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 套接字简介 3http://www.16sheji8.cn/
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 本章小结 6http://www.16sheji8.cn/
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
1 引言
1.1 课题的背景及意义
在网络无所不在的今天,在Internet上,有ICQ、MSN、Gtalk、OICQ等网络聊天软件,极大程度上方便了处于在世界各地的友人之间的相互联系,也使世界好像一下子缩小了,不管你在哪里,只要你上了网,打开这些软件,就可以给你的朋友发送信息,不管对方是否也同时在线,只要知道他有号码。
Linux 操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操作系统源代码的公开化!只要是基于GNU公约的软件你都可以任意使用并修改它的源代码。但对很多习惯于Windows操作系统的人来说,Linux的操作不够人性化、交互界面不够美观,这给Linux操作系统的普及带来了很大的阻碍。因此制作一个Linux 操作系统下的拥有人性化界面的实时通讯工具,将给那些刚刚接触Linux操作系统的用户带来极大的方便,而且通过设计这样的一个应用程序还能更好的学习网络编程知识和掌握Linux平台上应用程序设计开发的过程,将大学四年所学知识综合运用,以达到检验学习成果的目的。