《基于LINUX聊天客户端模块设计与实现论文》由会员分享,可在线阅读,更多相关《基于LINUX聊天客户端模块设计与实现论文(39页珍藏版)》请在金锄头文库上搜索。
1、XX学院本 科 生 毕 业 论 文( 届)题 目: 基于Linux聊天客户端模块设计与实现系 别: 计算机科学系 专 业: 计算机科学与技术 班 级: 作者姓名: 学号: 指导教师: 职称: 学历: 论文成绩: 20 年 月目 录摘 要1Abstract1绪 论3第一章 概述41.1 Linux的网络功能与编程41.1.1 Linux概述41.1.2 Linux的特点51.1.3 Linux的网络功能71.1.4 Linux提供的网络服务71.2 TCP/IP协议简介81.3 Socket的简介91.4 ARM的简介9第二章 规划设计112.1 课题来源112.2 需求分析11第三章 系统分析
2、与设计方案133.1 聊天系统客户端的总体设计要点133.2 聊天系统客户端的设计步骤及功能模块划分133.3 聊天系统客户端各功能模块14第四章 系统设计与实现234.1 开发环境工具234.2 硬件环境244.3 网站功能模块的测试26第五章 总结315.1 毕业设计总结和展望315.2 经验和感想31结 束 语33参考文献34指导教师评语阅卷人评语 基于Linux聊天客户端模块设计与实现计算机科学系 20 级 班 摘 要:聊天室是一种广泛应用于网络的聊天方式,操作非常简单,功能也很丰富。可以使用多种编程类语言来设计和开发出功能比较完善的网络聊天室。整个项目介绍在Linux操作系统下设计和
3、实现的一个网络聊天室客户端的全过程。本系统采用C/S构架设计,使用了linux下C编程,结合QT编译语言,开发出简洁美观和布局合理的用户GUI界面;利用了Socket网络开发技术实现客户端和服务器端的连接访问;通过对数据流操作的合理解析,实现信息传递、接受和数据保存。同时,采用多线程、多任务的设计思想,开发出性能稳定,功能全面的服务器。本篇论文介绍客户端的实现,主要功能包括:实现聊天室的登录、注册、群聊以及私聊。最后将整个客户端程序移植到ARM开发板上,在板子上完整的实现系统的功能。使本聊天室客户端可以在移动设备上实现功能、摆脱了传统的PC机限制。关键词:聊天室;Linux系统;QT语言;So
4、cket;ARMThe Design and Emplementation of Chatroom client Based on Linux Class ,Grade ,Computer Of ScienceAbstract: Chat room is a wide range of applications in the network chat mode, the operation is simple, the function is also very rich. You can use a variety of programming language to design and
5、develop a function more perfect network chat room. The entire project is introduced in the Linux operating system design and implementation of a network chat room client process. This system adopts C / S architecture design, the use of Linux C programming, with QT language compiler, a simple and rea
6、sonable layout of the user interface GUI; use of Socket web development technology to realize the connection between the client and server access; through the data stream operation of rational analysis, the realization of information transmission, receiving and data save. At the same time, multi-thr
7、eading, task design, developed a stable performance, fully functional server. This paper introduces the realization of the client, the main function includes: the realization of the chat room login, registration, group chat and private chat. Finally the client program to transplanted into the ARM de
8、velopment board, the board on the full implementation of the function of the system. The chat client allows mobile devices to achieve function, get rid of the traditional PC machine limited.Keyword: chat room; Linux; QT; Socket;ARM33绪 论Linux 操作系统作为一个开源的操作系统被越来越多的人所应用,基于linux系统的聊天系统优势在于使用方便快捷,易学易懂,具有
9、即时性。尤其是对于企事业单位具有可靠性,能够实现消息的即时发布与收集。不需使用互联网,只需局域网既可实现通讯,省时省力。另外该系统对硬件的需求很低,不影响电脑的其他工作。因此制作一个Linux 操作系统下的拥有人性化界面的实时通讯工具,将给那些刚刚接触Linux操作系统的用户带来极大的方便,而且通过设计这样的一个应用程序还能更好的学习网络编程知识和掌握Linux平台上应用程序设计开发的过程,将大学四年所学知识综合运用,以达到检验学习成果的目的。第一章 概述1.1 Linux的网络功能与编程 1.1.1 Linux概述 Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Li
10、nux,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核1,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet 网络,并经过全世界各地计算机爱好
11、者的共同努力下,现已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。 Linux 操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Internet 网络。Linux 操作系统刚开始时并没有被称作Linux,Linus 给他的操作系统取名为FREAX,其英文含义是怪诞的、怪物、异想天开等意思。在他将新的操作系统上载到ftp,funet。fi服务器上时,管理员Ari Lemke很不喜欢这个名称。他认为既然是Linus 的操作系统就取其谐音Linux 作为该操作系统的目录吧,于是Linux
12、 这个名称就开始流传下来。 在Linus 的自传Just for Fun一书中,Linus 解释说:坦白地说,我从来没有想到过要用Linux 这个名称发布这个操作系统,因为这个名字有些太自负了。而我为最终发布版准备的是什么名字呢Freax。实际上,内核代码中某些早期的Makefile - 用于描述如何编译源代码的文件 - 文件中就已经包含有Freax这个名字了,大约存在了半年左右。但其实这也没什么关系,在当时还不需要一个名字,因为我还没有向任何人发布过内核代码。而Ari Lemke,他坚持要用自己的方式将内核代码放到ftp 站点上,并且非常不喜欢Freax 这个名字。他坚持要用现在这个名字(L
13、inux),我承认当时我并没有跟他多争论。但这都是他取的名字。所以我可以光明正大地说我并不自负,或者部分坦白地说我并没有本位主义思想。但我想好吧,这也是个好名字,而且以后为这事我总能说服别人,就像我现在做的这样。1.1.2Linux的特点 Linux的主要特点:Linux之所以能在嵌人式系统领域取得如此辉煌的成绩,与其自身的优良特性是分不开的。与其他操作系统相比,Linux具有以下一系列显著的特点。1.模块化程度高Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux
14、系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。2.源码公开由于Linux系统的开发从一开始就与GNU项目紧密地结合起来,所以它的大多数组成部分都直接来自GNU项目。任何人、任何组织只要遵守GPL条款,就可以自由使用Linux 源代码,为用户提供了最大限度的自由度。这一点也正投嵌入式系统所好,因为嵌入式系统应用千差万别,设计者往往需要针对具体的应用对源码进行修改和优化, 所以是否能获得源代码 对于嵌入式系统的开发是至关重要的2。加之Linux的软件资源十分丰富,每种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。这一切就使设 计者在其基础之上进行二次开发变得非常容易。另外,由
15、于Linux源代码公开,也使用户不用担心有“后闸”等安全隐患。同时,源码开放给各教育机构提供极大的方便,从而也促进了Linux的学习、推广和应用。3.丰富的网络功能Linux从诞生之日起就与Internet密不可分,支持各种标准的Internet网络协议,并且很容易移植到嵌入式系统当中。目前,Linux几乎支持所有主流的网络硬件、网络协议和文件系统,因此它是NFS的一个很好的平台。另一方面,由于Linux有很好的文件系统支持(例如,它支持Ext2、FAT32、romfs等文件系统),是数据各份、同步和复制的良好平台,这些都为开发嵌入式系统应用打下了坚实的基础。4.与UNIX完全兼容目前,在Linux中所包含的工具和实用程序,可以完成UNIX的所有主要功能。但由于Linux不是为实时而设计的,因