基于linu网络聊天室的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术 计 1341
课程设计任务书
题目基于linux 网络聊天室的设计
实验目的:
《Linux 操作系统课程设计B >〉是一门在课程《Linux 操作系统与程序设 计B 》后独立开设的实验课程。这一门实验课程的开设目的是为了通过学生独 立完成一个基于Linux 平台的较大型应用程序,巩固课堂上学到的
Linux 平
台上的编程规范、技术和技巧,培养学生的编写较大型程序的能力和提高学 生综合应用素质。
本课程设计实验主要围绕Linux 平台上主流的基础技术展开,这些技术 包括:Linux 的进程、线程通信和同步技术;socket 网络通信技术等,这些 技术可以集中体现并应用在并发程序设计中。通过并发程序的设计与开发, 培养学生底层软件开发的能力,并为将来从事 UNIX/Linux 平台开发、嵌入式
开发等相对高端的软件开发工作打下基础。
课程设计的具体内容与要求:
1.
阅读(一个)示例代码,理解并发程序设计并掌握基于
Linux 平台并
发程序设计的方法。
《Linux
操作系统》课程设计报告
院 工商学院
学生姓名: 王慢,韩霞,孙洁茹,李强,蒋涛
5 8
2.在充分理解示例程序的基础上,重新定义和完善程序的功能,定义数
据结构,划分程序的功能模块和接口,明确每个模块功能以及相互关系。
3.完成程序的详细设计和编码,并测试。
4.书写并提交文档
目录
10 19-24
基于linux 网络聊天室的设计
摘要本课程设计主要实现一个Linux 下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机
进行通信,通信内容能够通过终端显示出来。两个部分都使用C语言,利用vi编辑器,
通过Berkeley 套接口编程实现相关功能。
课程设计背景
Linux是一种针对PC计算机和工作站的操作系统,它具有像Windows和Mac那样的功能
齐全的图形用户界面( GUI,Graphical User Interface) 。Linus Torvald 和其它的遍布世界各地的编程人员共同开发的[1]。
提到Linux我们不能不提GNI和Unix。Richard建立的自由软件联盟出版了两种许可证,GNU通用公共许可证(GNU Gneral Public License,GPL) 和GNU®数库通用公共许可证
(GNU Library Gneral Public License,LGPL) 。大部分GNUT程的软件和文档是以GNU!
用公共许可证发行的,但是有一些库是以GNU函数库通用公共许可证发行的。按照GNU S
用公共许可证的规定,Linux 的源代码可以自由获取,这满足了我们学习该系统的强烈愿
望。GPL充分体现了Stallman的思想:只要用户所做的修改是同等自由的,用户可以自由
地使用、拷贝、查询、重用、修改甚至发布这个软件。通过这种方式,GPL保证了Linux (以及同一许可证下的大量其他软件)不仅现在自由可用,而且皮后经过任何修改这后都仍然
可以自由使用。
Unix 是由AT—T贝尔实验室的Ken Thompson和Dennis Ritchie 于1969年在一台已
经废弃了的PDP-7上开发的;最初它是一个用汇编语言写成的单用户操作系统。后来,他
们又在PDP-11上用C语言重新编写(发明C语言的部分目的就在于此),把Unix做成为了一个文本处理系统, 这使Unix 在贝尔实验室得到广泛的应用。Unix 的最初版本免费提供给许多知名的大学的计算机系使用。加州大学伯克利分校的计算机系就是其中的一名,并
地Unix进行了修改增加了许多新的特点,这就是主为人知的BSC版本的Unix。与此同时, 其它独立开发的Unix 版本也开始萌生。Unix 不断发展了, 各种版本被应用到不同的计算机使用。而Linux 最初是专门为基于Intel 的个人计算机设计的。
(1)Linux 的昨天
1991 年, 一名叫Linus Torvalds 的芬兰大学生对Unix 各种版本对于80386 类的机器的
脆弱支持十分不满,他决定要开发出一个全功能的、支持P0SIX标准的、类Unix的操作系
统内核,该系统吸收了BSD和System V的优点,同进摒弃了它们的缺点。他独立把这个内
核开发到版,这个版本已经可以运行gcc、bash和很少的一些应用程序。后来,他又开始了在因特网上寻求
广泛的帮助。1994年,Linux已经升级到版本。它的源代码量也呈指数形式增长, 实现了基本的TCP/IP
功能, 此时Linux 已经拥有大约10万的用户。
(2)Linux 的今天
作为一各服务器级的操作系统,Linux 已经成熟了。现在的Linux 内核由150 多行代码组成,能作为Web服务器平台,也为越来越多的商业用户提供文件和打印服务。它既被当作邮件服务器的一种候选平台, 也被当作一种强壮而安全的防火墙。
Linux 的企业级特性,比如支持多处理器、支持大型文件系统、日志文件系统以及密集
型计算和高可用性集群技术, 也逐步成熟。
桌面上的Linux也在继续完善。KDE桌面提供的图形用户界面在易用性和可配置方面都能和微软的Windows相媲美。
(3)Linux 的明天
Linux 最强大的生命力在于其公开的开发过程。每个人都有可以自由获取内核源程序每个人都有要不得以运载源程序加以修改, 而后他人也可以自由获取你修改后的源程序。
Linux这种独特的自由流畅的开发模型已被命名为bazaar (集市模型)。Bazaar开发模型通过重视实验, 征集并充分利用早期的反馈, 对巨大数量的脑力资源进行平衡配置, 可以开发出更优秀的软件。本联盟就是想通过bazaar开发模型,在网上召集一些Linux的爱好者, 开发出更优秀的操作系统或软件。
课程设计目的
本课程设计主要实现一个Linux 下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机进行通信,通信内容能够通过终端显示出来。两个部分都使用C语言,利用vi编辑器,通
过Berkeley 套接口编程实现相关功能。
要求:
(1)主要实现一个Linux下的局域网聊天工具的设计,进一步掌握Vi,gcc等工具的使
用,并且熟悉Linux 下的网络编程,以及多线程编程。
( 2)通过实际项目的分析、安装、配置、测试等工作,掌握用Linux 系统下的网络聊天
室的应用。
课程设计内容
本课程设计主要实现一个Linux 下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机进行通信,通信内容能够通过终端显示出来。两个部分都使用C 语言,利用vi 编辑器,通过