基于某linux网络聊天室地设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Linux操作系统》课程设计报告
学院工商学院
专业计算机科学与技术
班级计1341
学生:王慢,霞,洁茹,强,涛
课程设计任务书
题目基于linux网络聊天室的设计
实验目的:
《Linux操作系统课程设计B》是一门在课程《Linux操作系统与程序设计B》后独立开设的实验课程。这一门实验课程的开设目的是为了通过学生独立完成一个基于Linux平台的较大型应用程序,巩固课堂上学到的Linux平台上的编程规、技术和技巧,培养学生的编写较大型程序的能力和提高学生综合应用素质。
本课程设计实验主要围绕Linux平台上主流的基础技术展开,这些技术包括:Linux的进程、线程通信和同步技术; socket网络通信技术等,这些技术可以集中体现并应用在并发程序设计中。通过并发程序的设计与开发,培养学生底层软件开发的能力,并为将来从事UNIX/Linux平台开发、嵌入式开发等相对高端的软件开发工作打下基础。
课程设计的具体容与要求:
1.阅读(一个)示例代码,理解并发程序设计并掌握基于Linux平台并
发程序设计的方法。
2.在充分理解示例程序的基础上,重新定义和完善程序的功能,定义数
据结构,划分程序的功能模块和接口,明确每个模块功能以及相互关
系。
3.完成程序的详细设计和编码,并测试。
4.书写并提交文档
目录
1引言 (1)
1.1课程设计背景 (1)
1.2课程设计目的 (2)
1.3课程设计容 (4)
2 技术介绍 (7)
2.1TCP和UDP介绍...................................................................
2.2客户/服务器模型.................................................................
2.3网络套接字(socket)的概念......................................................
2.4多线程的概念....................................................................
3 系统设计 (10)
3.1 系统结构设计...................................................................
3.2通信模块设计.................................................................... 4模块实现. (12)
4.1系统调用相关函数................................................................
4.2 系统实现过程说明...............................................................
5 运行效果 (15)
结束语................................................................................. 参考文献.. (18)
附录.............................................................................. 19-24
基于linux网络聊天室的设计
摘要本课程设计主要实现一个Linux下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机进行通信,通信容能够通过终端显示出来。两个部分都使用C语言,利用vi编辑器,通过Berkeley套接口编程实现相关功能。
1 引言
1.1课程设计背景
Linux是一种针对PC计算机和工作站的操作系统,它具有像Windows和Mac那样的功能齐全的图形用户界面(GUI,Graphical User Interface)。Linus Torvald和其它的遍布世界各地的编程人员共同开发的[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的源代码可以自由获取,这满足了我们学习该系统的强烈愿望。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不断发展了,各种版本被应用到不同的计算机使