1、Linux聊天程序论文基于Linux网络聊天室的设计与实现摘 要基于资源共享和软件自由的思想,linux成为越来越多技术人员的理想之国。作为一个稳定的多用户类unix网络操作系统,linux能提供完美的网络解决方案,出色的胜任网络构建和维护。出于对unix技术优势的出色继承和延续,linux对多种网络协议的支持使得网络解决方案极大的丰富。在 Linux 中的网络编程是通过socket接口来进行的,Socket是TCP/IP网络的API。不但是一种特殊的I/O,它也是一种文件描述符。socket有TCP和UDP两个协议,TCP协议有数据的可靠性、应用的实时性、网络的可靠性三个优点。因此选择TCP
2、协议更为可靠。数据这里 NGE 听。;编程人员共同开发的。本系统实现了在Linux网络聊天室的基本功能。在Linux下编写并调试服务器端程序和客户端程序,实现了客户、服务器之间的连接接和通信。可以在单机上开辟两个窗口分别运行客户、服务器端的程序,或者两台主机链接分别作为客户和服务器的方式。总体来说,此设计以嵌入式C语言为开发语言,使用网络套接字socket建立连接,并运用多线程实现数据的交换,程序经gcc调试成功,可以在单机网络聊天中使用。关键字:网络聊天室; Linux;socket;TCP; C语言Network chat room of design and implementation
3、 under linuxAbstractOn the basis of the thought with free resource-sharing and software, linux becomes more and more technical staffs ideal country.and is attracting more persons to join in this ideal constantly.As a steady multi-user unix network operating system, linux can offer the perfect networ
4、k solution and is competent of constructing and maintaining the network excellent.For the inheritting and extending splendidly of technological advantage to unix, the abundance that linux support to many kinds of procotols makes the network with great solution. In Linux, network programming is carri
5、ed out through the socket interface,Socket is the API of TCP / IP network.Not only Is a special I / O but also is a file descriptor.Socket has two protocols which are TCP and UDP,TCP protocol has three advantages of the eliability of data, the application of real-time and the network reliability.So
6、it is more reliable to choose TCP protocol.The system Implementate the basic function of the network chat room under linux. Prepared and debugging server and client program in the Linux,achieved the Links and communication between tne server and client . Can open up two windows In a single machine t
7、o run the server and client program respectively,or to connect twohosts, respectively, as the way of the client and server. Overall,the design use C language for the development language, creat link using the network socket,and use multiple to the exchange of data. The program by the success of gcc
8、debug debugger, you can use it in the chat of stand-alone network.Keyword: Network Chat Rooms; Linux; Socket; c language 第一章绪 论1.1研究背景Linux是一种针对PC计算机和工作站的操作系统,Linux 是为普通个人电脑设计,可免费分发的、兼容Unix 的操作系统。它支持各种各样的软件(包括大量免费软件)。它是在386 电脑上开发出来的,它现在支持486、586、Pentium、PowerPC、Sun Sparc 和DEC Alp ha 的硬件。Linus Torval
9、d和其它的遍布世界各地的编程人员共同开发的,作为一种操作系统,它具有与Unix、Mac、Windows和Windows NT同样的功能1。提到Linux就不能不提GNU和Unix。Richard M.Stallman建立的自由软件联盟出版了两种许可证,GNU通用公共许可证(GNU Gneral Public License,GPL)和GNU函数库通用公共许可证(GNU Library Gneral Public License,LGPL)。大部分GNU工程的软件和文档是以GNU通用公共许可证发行的,但是有一些库是以GNU函数库通用公共许可证发行的。按照GNU通用公共许可证的规定,Linux的源
10、代码可以自由获取,这满足了我们学习该系统的强烈愿望。GPL充分体现了Stallman的思想:只要用户所做的修改是同等自由的,用户可以自由地使用、拷贝、查询、重用、修改甚至发布这个软件。通过这种方式,GPL保证了Linux(以及同一许可证下的大量其他软件)不仅现在自由可用,而且以后经过任何修改这后都仍然可以自由使用2。 Unix是由ATT贝尔实验室的Ken Thompson和Dennis Ritchie于1969年在一台已经废弃了的PDP-7上开发的;最初它是一个用汇编语言写成的单用户操作系统。后来,他们又在PDP-11上用C语言重新编写(发明C语言的部分目的就在于此),把Unix做成为了一个文
11、本处理系统,这使Unix在贝尔实验室得到广泛的应用。Unix的最初版本免费提供给许多知名的大学的计算机系使用。加州大学伯克利分校的计算机系就是其中的一名,并地Unix进行了修改增加了许多新的特点,这就是广为人知的BSC版本的Unix。与此同时,其它独立开发的Unix版本也开始萌生3。Unix不断发展了,各种版本被应用到不同的计算机使用。而Linux最初是专门为基于Intel的个人计算机设计的。 1、Linux的早期 1991年,一名叫Linus Torvalds的芬兰大学生对Unix各种版本对于80386类的机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的
12、操作系统内核,该系统吸收了BSD和System V 的优点,同进摒弃了它们的缺点。他独立把这个内核开发到0.02版,这个版本已经可以运行gcc、bash和很少的一些应用程序。1994年,Linux已经升级到1.0版本。它的源代码量也呈指数形式增长,实现了基本的TCP/IP功能,此时Linux已经拥有大约10万的用户。 2、Linux的现状 作为一各服务器级的操作系统,Linux已经成熟了。现在的Linux内核由150多行代码组成,能作为Web服务器平台,也为越来越多的商业用户提供文件和打印服务。它既被当作邮件服务器的一种候选平台,也被当作一种强壮而安全的防火墙。 Linux的企业级特性,比如支
13、持多处理器、支持大型文件系统、日志文件系统以及密集型计算和高可用性集群技术,也逐步成熟,桌面上的Linux也在继续完善。3、Linux的未来 Linux最强大的生命力在于其公开的开发过程。每个人都有可以自由获取内核源程序,每个人都有要不得以运载源程序加以修改,而后他人也可以自由获取你修改后的源程序。Linux这种独特的自由流畅的开发模型已被命名为bazaar(集市模型)。Bazaar开发模型通过重视实验,征集并充分利用早期的反馈,对巨大数量的脑力资源进行平衡配置,可以开发出更优秀的软件。1.2应用概述嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬
14、件一体化,类似与BIOS的工作方式4。具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时的和多任务的体系。随着Intenet的日益发展和普及,网络在嵌入式系统中应用非常广泛,越来越多的嵌入式设备采用Linux操作系统5。Linux在近十年的时间里发展迅速,不仅奠定了坚实的网络基础,成为众多服务器强有力的支持,更是发展了嵌入式领域乃至桌面领域。Linux 作为一种自由免费的操作系统,相对于windows 具有良好的稳定性和出色的网络性能,此被广泛应用于各种网络服务器。尽管在短期内还不能形成规模与windows系统相抗衡,但是他的发展势头已不可阻挡。在服务器领域,Linux已经是后来
15、居上,占领了微软windows服务器的一些市场,甚至有取代unix的迹象。Linux是一个源代码公开的免费操作系统,具有强移植性,所以对基于Linux的Socket网络编程的研究越来越重要,其c/s模式如图1.1所示。图1.1客户端/服务器模式Socket实际是网络传输层供给应用层的编程接口。传输层则在网络层的基础上提供进程到进程访问的逻辑通道,而应用层的进程则利用传输层向另一台主机的某一进程通信6。Socket就是应用层与传输层之间的桥梁,如图1.2所示。图1.2 socket是传输层与应用层间的桥梁使用Socket编程时可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通
16、过Internet在全球范围内进行通信。编写并运行 Socket的客户端和服务器端程序,双方通过套接字建立了服务连接请求,并且通过一些方法提高Socket的性能。1.3 优点近年嵌入式系统发展成为热点,Linux环境下利用socket设计网络聊天室系统,是嵌入式发展的一个趋势之一,主要因为它有以下三个优点:1、Linux作为一个开源的操作系统,利于使用人员交流学习,而且Linux 的许多特性有利于网络编程。首先,Linux 系统拥有许多网络编程的库函数,可以方便地实现客户机/ 服务器模型。其次,Linux 秉承了UNIX 的设备无关性这一优秀特征,即它通过文件的描述符实现了统一的设备接口,网络的Socket数据传输是一种特殊的I/ 0 ,Scoket 也是一种文件描述符。再有,且其内核小、效率高、兼容性好和稳定性强等优点。2、Socket接口是一个通用的接口,它不
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1