Linux聊天程序论文.docx

上传人:b****5 文档编号:2862709 上传时间:2022-11-16 格式:DOCX 页数:47 大小:306KB
下载 相关 举报
Linux聊天程序论文.docx_第1页
第1页 / 共47页
Linux聊天程序论文.docx_第2页
第2页 / 共47页
Linux聊天程序论文.docx_第3页
第3页 / 共47页
Linux聊天程序论文.docx_第4页
第4页 / 共47页
Linux聊天程序论文.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

Linux聊天程序论文.docx

《Linux聊天程序论文.docx》由会员分享,可在线阅读,更多相关《Linux聊天程序论文.docx(47页珍藏版)》请在冰豆网上搜索。

Linux聊天程序论文.docx

Linux聊天程序论文

基于Linux网络聊天室的设计与实现

摘要

基于资源共享和软件自由的思想,linux成为越来越多技术人员的理想之国。

作为一个稳定的多用户类unix网络操作系统,linux能提供完美的网络解决方案,出色的胜任网络构建和维护。

出于对unix技术优势的出色继承和延续,linux对多种网络协议的支持使得网络解决方案极大的丰富。

在Linux中的网络编程是通过socket接口来进行的,Socket是TCP/IP网络的API。

不但是一种特殊的I/O,它也是一种文件描述符。

socket有TCP和UDP两个协议,TCP协议有数据的可靠性、应用的实时性、网络的可靠性三个优点。

因此选择TCP协议更为可靠。

数据这里NGE听。

;

编程人员共同开发的。

本系统实现了在Linux网络聊天室的基本功能。

在Linux下编写并调试服务器端程序和客户端程序,实现了客户、服务器之间的连接接和通信。

可以在单机上开辟两个窗口分别运行客户、服务器端的程序,或者两台主机链接分别作为客户和服务器的方式。

总体来说,此设计以嵌入式C语言为开发语言,使用网络套接字socket建立连接,并运用多线程实现数据的交换,程序经gcc调试成功,可以在单机网络聊天中使用。

 

关键字:

网络聊天室;Linux;socket;TCP;C语言

 

Networkchatroomofdesignandimplementationunderlinux

Abstract

Onthebasisofthethoughtwithfreeresource-sharingandsoftware,linuxbecomesmoreandmoretechnicalstaff'sidealcountry.andisattractingmorepersonstojoininthisidealconstantly.Asasteadymulti-userunixnetworkoperatingsystem,linuxcanoffertheperfectnetworksolutionandiscompetentofconstructingandmaintainingthenetworkexcellent.Fortheinherittingandextendingsplendidlyoftechnologicaladvantagetounix,theabundancethatlinuxsupporttomanykindsofprocotolsmakesthenetworkwithgreatsolution.

InLinux,networkprogrammingiscarriedoutthroughthesocketinterface,SocketistheAPIofTCP/IPnetwork.NotonlyIsaspecialI/Obutalsoisafiledescriptor.SockethastwoprotocolswhichareTCPandUDP,TCPprotocolhasthreeadvantagesoftheeliabilityofdata,theapplicationofreal-timeandthenetworkreliability.SoitismorereliabletochooseTCPprotocol.

ThesystemImplementatethebasicfunctionofthenetworkchatroomunderlinux.PreparedanddebuggingserverandclientprogramintheLinux,achievedtheLinksandcommunicationbetweentneserverandclient.CanopenuptwowindowsInasinglemachinetoruntheserverandclientprogramrespectively,ortoconnecttwohosts,respectively,asthewayoftheclientandserver.Overall,thedesignuseClanguageforthedevelopmentlanguage,creatlinkusingthenetworksocket,andusemultipletotheexchangeofdata.Theprogrambythesuccessofgccdebugdebugger,youcanuseitinthechatofstand-alonenetwork.

 

Keyword:

NetworkChatRooms;Linux;Socket;clanguage

 

第一章绪论

1.1研究背景

Linux是一种针对PC计算机和工作站的操作系统,Linux是为普通个人电脑设计,可免费分发的、兼容Unix的操作系统。

它支持各种各样的软件(包括大量免费软件)。

它是在386电脑上开发出来的,它现在支持486、586、Pentium、PowerPC、SunSparc和DECAlpha的硬件。

LinusTorvald和其它的遍布世界各地的编程人员共同开发的,作为一种操作系统,它具有与Unix、Mac、Windows和WindowsNT同样的功能[1]。

提到Linux就不能不提GNU和Unix。

RichardM.Stallman建立的自由软件联盟出版了两种许可证,GNU通用公共许可证(GNUGneralPublicLicense,GPL)和GNU函数库通用公共许可证(GNULibraryGneralPublicLicense,LGPL)。

大部分GNU工程的软件和文档是以GNU通用公共许可证发行的,但是有一些库是以GNU函数库通用公共许可证发行的。

按照GNU通用公共许可证的规定,Linux的源代码可以自由获取,这满足了我们学习该系统的强烈愿望。

GPL充分体现了Stallman的思想:

只要用户所做的修改是同等自由的,用户可以自由地使用、拷贝、查询、重用、修改甚至发布这个软件。

通过这种方式,GPL保证了Linux(以及同一许可证下的大量其他软件)不仅现在自由可用,而且以后经过任何修改这后都仍然可以自由使用[2]。

Unix是由AT—T贝尔实验室的KenThompson和DennisRitchie于1969年在一台已经废弃了的PDP-7上开发的;最初它是一个用汇编语言写成的单用户操作系统。

后来,他们又在PDP-11上用C语言重新编写(发明C语言的部分目的就在于此),把Unix做成为了一个文本处理系统,这使Unix在贝尔实验室得到广泛的应用。

Unix的最初版本免费提供给许多知名的大学的计算机系使用。

加州大学伯克利分校的计算机系就是其中的一名,并地Unix进行了修改增加了许多新的特点,这就是广为人知的BSC版本的Unix。

与此同时,其它独立开发的Unix版本也开始萌生[3]。

Unix不断发展了,各种版本被应用到不同的计算机使用。

而Linux最初是专门为基于Intel的个人计算机设计的。

1、Linux的早期

1991年,一名叫LinusTorvalds的芬兰大学生对Unix各种版本对于80386类的机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSD和SystemV的优点,同进摒弃了它们的缺点。

他独立把这个内核开发到0.02版,这个版本已经可以运行gcc、bash和很少的一些应用程序。

1994年,Linux已经升级到1.0版本。

它的源代码量也呈指数形式增长,实现了基本的TCP/IP功能,此时Linux已经拥有大约10万的用户。

2、Linux的现状

作为一各服务器级的操作系统,Linux已经成熟了。

现在的Linux内核由150多行代码组成,能作为Web服务器平台,也为越来越多的商业用户提供文件和打印服务。

它既被当作邮件服务器的一种候选平台,也被当作一种强壮而安全的防火墙。

Linux的企业级特性,比如支持多处理器、支持大型文件系统、日志文件系统以及密集型计算和高可用性集群技术,也逐步成熟,桌面上的Linux也在继续完善。

3、Linux的未来

Linux最强大的生命力在于其公开的开发过程。

每个人都有可以自由获取内核源程序,每个人都有要不得以运载源程序加以修改,而后他人也可以自由获取你修改后的源程序。

Linux这种独特的自由流畅的开发模型已被命名为bazaar(集市模型)。

Bazaar开发模型通过重视实验,征集并充分利用早期的反馈,对巨大数量的脑力资源进行平衡配置,可以开发出更优秀的软件。

1.2应用概述

嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。

简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式[4]。

具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时的和多任务的体系。

随着Intenet的日益发展和普及,网络在嵌入式系统中应用非常广泛,越来越多的嵌入式设备采用Linux操作系统[5]。

Linux在近十年的时间里发展迅速,不仅奠定了坚实的网络基础,成为众多服务器强有力的支持,更是发展了嵌入式领域乃至桌面领域。

Linux作为一种自由免费的操作系统,相对于windows具有良好的稳定性和出色的网络性能,此被广泛应用于各种网络服务器。

尽管在短期内还不能形成规模与windows系统相抗衡,但是他的发展势头已不可阻挡。

在服务器领域,Linux已经是后来居上,占领了微软windows服务器的一些市场,甚至有取代unix的迹象。

Linux是一个源代码公开的免费操作系统,具有强移植性,所以对基于Linux的Socket网络编程的研究越来越重要,其c/s模式如图1.1所示。

图1.1客户端/服务器模式

Socket实际是网络传输层供给应用层的编程接口。

传输层则在网络层的基础上提供进程到进程访问的逻辑通道,而应用层的进程则利用传输层向另一台主机的某一进程通信[6]。

Socket就是应用层与传输层之间的桥梁,如图1.2所示。

图1.2socket是传输层与应用层间的桥梁

使用Socket编程时可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过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