基于Linux聊天客户端模块设计与实现.doc
《基于Linux聊天客户端模块设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Linux聊天客户端模块设计与实现.doc(38页珍藏版)》请在沃文网上搜索。
1、目 录摘 要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第三章 系统分析与设计方案133.1 聊天系统客户端的总体设计要点133.2 聊天系统客户端的设计步骤及功能模块划分133.3 聊天系统客户端各功能模块14第四章 系统设计与实现234.1 开发环境工具234.2 硬件环境244.3 网站功
2、能模块的测试26第五章 总结315.1 毕业设计总结和展望315.2 经验和感想31结 束 语33参考文献34指导教师评语阅卷人评语 基于Linux聊天客户端模块设计与实现摘 要:聊天室是一种广泛应用于网络的聊天方式,操作非常简单,功能也很丰富。可以使用多种编程类语言来设计和开发出功能比较完善的网络聊天室。整个项目介绍在Linux操作系统下设计和实现的一个网络聊天室客户端的全过程。本系统采用C/S构架设计,使用了linux下C编程,结合QT编译语言,开发出简洁美观和布局合理的用户GUI界面;利用了Socket网络开发技术实现客户端和服务器端的连接访问;通过对数据流操作的合理解析,实现信息传递、
3、接受和数据保存。同时,采用多线程、多任务的设计思想,开发出性能稳定,功能全面的服务器。本篇论文介绍客户端的实现,主要功能包括:实现聊天室的登录、注册、群聊以及私聊。最后将整个客户端程序移植到ARM开发板上,在板子上完整的实现系统的功能。使本聊天室客户端可以在移动设备上实现功能、摆脱了传统的PC机限制。关键词:聊天室;Linux系统;QT语言;Socket;ARMThe Design and Emplementation of Chatroom client Based on Linux Class ,Grade ,Computer Of ScienceAbstract: Chat room i
4、s 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 develop a function more perfect network chat room. The entire project is introduced in the Linux operating system design and i
5、mplementation 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 reasonable layout of the user interface GUI; use of Socket web development technology to realize the connection between the clien
6、t 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-threading, task design, developed a stable performance, fully functional server. This paper introduces the realization of the cli
7、ent, 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 development board, the board on the full implementation of the function of the system. The chat client allows mobile devices to
8、achieve function, get rid of the traditional PC machine limited.Keyword: chat room; Linux; QT; Socket;ARM2绪 论Linux 操作系统作为一个开源的操作系统被越来越多的人所应用,基于linux系统的聊天系统优势在于使用方便快捷,易学易懂,具有即时性。尤其是对于企事业单位具有可靠性,能够实现消息的即时发布与收集。不需使用互联网,只需局域网既可实现通讯,省时省力。另外该系统对硬件的需求很低,不影响电脑的其他工作。因此制作一个Linux 操作系统下的拥有人性化界面的实时通讯工具,将给那些刚刚接触L
9、inux操作系统的用户带来极大的方便,而且通过设计这样的一个应用程序还能更好的学习网络编程知识和掌握Linux平台上应用程序设计开发的过程,将大学四年所学知识综合运用,以达到检验学习成果的目的。第一章 概述1.1 Linux的网络功能与编程 1.1.1 Linux概述 Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来
10、讲,Linux这个词本身只表示Linux内核1,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。 Linux 操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和Intern
11、et 网络。Linux 操作系统刚开始时并没有被称作Linux,Linus 给他的操作系统取名为FREAX,其英文含义是怪诞的、怪物、异想天开等意思。在他将新的操作系统上载到ftp,funet。fi服务器上时,管理员Ari Lemke很不喜欢这个名称。他认为既然是Linus 的操作系统就取其谐音Linux 作为该操作系统的目录吧,于是Linux 这个名称就开始流传下来。 在Linus 的自传Just for Fun一书中,Linus 解释说:坦白地说,我从来没有想到过要用Linux 这个名称发布这个操作系统,因为这个名字有些太自负了。而我为最终发布版准备的是什么名字呢Freax。实际上,内核代
12、码中某些早期的Makefile - 用于描述如何编译源代码的文件 - 文件中就已经包含有Freax这个名字了,大约存在了半年左右。但其实这也没什么关系,在当时还不需要一个名字,因为我还没有向任何人发布过内核代码。而Ari Lemke,他坚持要用自己的方式将内核代码放到ftp 站点上,并且非常不喜欢Freax 这个名字。他坚持要用现在这个名字(Linux),我承认当时我并没有跟他多争论。但这都是他取的名字。所以我可以光明正大地说我并不自负,或者部分坦白地说我并没有本位主义思想。但我想好吧,这也是个好名字,而且以后为这事我总能说服别人,就像我现在做的这样。1.1.2Linux的特点 Linux的主
13、要特点:Linux之所以能在嵌人式系统领域取得如此辉煌的成绩,与其自身的优良特性是分不开的。与其他操作系统相比,Linux具有以下一系列显著的特点。1.模块化程度高Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。2.源码公开由于Linux系统的开发从一开始就与GNU项目紧密地结合起来,所以它的大多数组成部分都直接来自GNU项目。任何人、任何组织只要遵守GPL条款,就可以自由使用Linux 源代码,为用户提供了
14、最大限度的自由度。这一点也正投嵌入式系统所好,因为嵌入式系统应用千差万别,设计者往往需要针对具体的应用对源码进行修改和优化, 所以是否能获得源代码 对于嵌入式系统的开发是至关重要的2。加之Linux的软件资源十分丰富,每种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。这一切就使设 计者在其基础之上进行二次开发变得非常容易。另外,由于Linux源代码公开,也使用户不用担心有“后闸”等安全隐患。同时,源码开放给各教育机构提供极大的方便,从而也促进了Linux的学习、推广和应用。3.丰富的网络功能Linux从诞生之日起就与Internet密不可分,支持各种标准的Internet网络协议
15、,并且很容易移植到嵌入式系统当中。目前,Linux几乎支持所有主流的网络硬件、网络协议和文件系统,因此它是NFS的一个很好的平台。另一方面,由于Linux有很好的文件系统支持(例如,它支持Ext2、FAT32、romfs等文件系统),是数据各份、同步和复制的良好平台,这些都为开发嵌入式系统应用打下了坚实的基础。4.与UNIX完全兼容目前,在Linux中所包含的工具和实用程序,可以完成UNIX的所有主要功能。但由于Linux不是为实时而设计的,因而这就成了Linux在实时系统中应用的最大遗憾。不过,目前有众多的自由软件爱好者正在为此进行不懈的努力,也取得了诸多成果5.完全免费Linux是一款免费
16、的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让Linux吸收了无数程序员的精华,不断壮大。 6.多用户、多任务Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。 7.良好的界面 Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形
17、界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。 8.可靠的安全、稳定性能 Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。Linux由于需要应用到网络服务器,这对稳定性也有比较高的要求,实际上Linux在这方面也十分出色。 9.支持多种平台 Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1
18、月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。1.1.3 Linux的网络功能(一)完善的内置网络 Linux在通信和网络功能方面优于其他操作系统。 其他操作系统不具有如此紧密地和内核结合在一起的连接网络能力,也没有内置这些联网特性的灵活性。 Linux为用户提供了完善、强大的网络功能。 Linux免费提供大量支持Internet的软件3。Internet是在UNIX领域中建立并繁荣起来的,因此,使用Linux十分方便。用户可用Linux通过Internet网络进行通信。(二)文件传输 用
19、户能通过Linux命令完成内部信息或文件的传输。(三)远程访问Linux不仅允许进行文件和程序传输,还为系统管理员和技术人员提供访问其他系统的窗口。通过远程访问功能,一个技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。1.1.4 Linux提供的网络服务(一)电子邮件服务Linux系统通过Sendmail实现电子邮件功能。它具有稳定与可扩充的特性,经过适当的设定再配合必要的硬件能够承受上千个使用者的负荷,而不会有任何错误。(二)网页(Web)服务Linux提供很多网页服务器,如CERN httpd,NCSA httpd,Apache等。其中,Apache是世界排名第一的Web
20、服务器。根据著名的WWW服务器公司调查,世界上有50%以上的WWW服务器都在使用Apache。(三)FTP服务FTP(File Transfer Protocol,文件传输协议)实现了客户机在FTP服务器上传与下载文件的功能。(四)域名服务用IP地址访问Internet上的主机,需要记忆很多枯燥的数字。域名服务器可以实现IP地址和主机域名之间的转换。因此,访问一台Internet上的主机时,只要输入主机的域名,即可访问该主机提供的服务。(五)新闻(News)服务Usenet(友思网)是一个大的告示板系统,采用阶层式的架构,包含有多种讨论话题,计算机经Usenet以NNTP(Network Ne
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 聊天 客户端 模块 设计 实现
