资源描述:
《课程设计---基于linux网络聊天室的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、长沙理工大学《高级操作系统》课程设计报告学院计算机与通信工程专业计算机科学与技术班级学号学生姓名指导教师课程成绩完成日期课程设计任务书计算机与通信工程学院计算机科学与技术专业课程名称高级操作系统课程设计时间2011~2012学年第2学期1~2周学生姓名指导老师题目基于linux网络聊天室的设计主要内容:本课程设计主要实现一个Linux下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机进行通信,通信内容能够通过终端显示出来。两个部分都使用C语言,利用vi编辑器,通
2、过Berkeley套接口编程实现相关功能要求:(1)主要实现一个Linux下的局域网聊天工具的设计,进一步掌握vi,gcc等工具的使用,并且熟悉Linux下的网络编程,以及多线程编程。(2)通过实际项目的分析、安装、配置、测试等工作,掌握用Linux系统下的网络聊天室的应用。(3)按要求编写课程设计报告书,能正确编写分析、设计、编码、测试等技术文档和用户使用手册。应当提交的文件:(1)课程设计报告。(2)课程设计附件(实验数据、测试截图等)。课程设计成绩评定学院计算机与通信工程专业计算机科学与技术班级学号学生姓名指导教师课程成绩
3、完成日期指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩指导教师签字年月日目录1引言11.1课程设计背景11.2课程设计目的21.3课程设计内容22技术介绍32.1TCP和UDP介绍32.2客户/服务器模型42.3网络套接字(socket)的概念52.4多线程的概念63系统设计73.1系统结构设计73.2通信设计74系统实现84.1系统调用相关函数84.2系统实现过程说
4、明105运行效果11结束语13致谢14参考文献15附录16《基于Linux网络聊天室的设计》第22页共21页基于linux网络聊天室的设计学生姓名:指导老师:摘要本课程设计主要实现一个Linux下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机进行通信,通信内容能够通过终端显示出来。两个部分都使用C语言,利用vi编辑器,通过Berkeley套接口编程实现相关功能。关键词Linux;网络聊天室;客户端;主机;《基于Linux网络聊天室的设计》第22页共21页1引言
5、1.1课程设计背景Linux是一种针对PC计算机和工作站的操作系统,它具有像Windows和Mac那样的功能齐全的图形用户界面(GUI,GraphicalUserInterface)。LinusTorvald和其它的遍布世界各地的编程人员共同开发的[1]。提到Linux我们不能不提GNU和Unix。RichardM.Stallman建立的自由软件联盟出版了两种许可证,GNU通用公共许可证(GNUGneralPublicLicense,GPL)和GNU函数库通用公共许可证(GNULibraryGneralPublicLicense
6、,LGPL)。大部分GNU工程的软件和文档是以GNU通用公共许可证发行的,但是有一些库是以GNU函数库通用公共许可证发行的。按照GNU通用公共许可证的规定,Linux的源代码可以自由获取,这满足了我们学习该系统的强烈愿望。GPL充分体现了Stallman的思想:只要用户所做的修改是同等自由的,用户可以自由地使用、拷贝、查询、重用、修改甚至发布这个软件。通过这种方式,GPL保证了Linux(以及同一许可证下的大量其他软件)不仅现在自由可用,而且皮后经过任何修改这后都仍然可以自由使用。Unix是由AT—T贝尔实验室的KenThomp
7、son和DennisRitchie于1969年在一台已经废弃了的PDP-7上开发的;最初它是一个用汇编语言写成的单用户操作系统。后来,他们又在PDP-11上用C语言重新编写(发明C语言的部分目的就在于此),把Unix做成为了一个文本处理系统,这使Unix在贝尔实验室得到广泛的应用。Unix的最初版本免费提供给许多知名的大学的计算机系使用。加州大学伯克利分校的计算机系就是其中的一名,并地Unix进行了修改增加了许多新的特点,这就是主为人知的BSC版本的Unix。与此同时,其它独立开发的Unix版本也开始萌生。Unix不断发展了,各
8、种版本被应用到不同的计算机使用。而Linux最初是专门为基于Intel的个人计算机设计的。(1)Linux的昨天1991年,一名叫LinusTorvalds的芬兰大学生对Unix各种版本对于80386类的机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持P