参考基于linux网络聊天室的设计

上传人:bin****86 文档编号:55164071 上传时间:2018-09-25 格式:DOC 页数:48 大小:577.50KB
返回 下载 相关 举报
参考基于linux网络聊天室的设计_第1页
第1页 / 共48页
参考基于linux网络聊天室的设计_第2页
第2页 / 共48页
参考基于linux网络聊天室的设计_第3页
第3页 / 共48页
参考基于linux网络聊天室的设计_第4页
第4页 / 共48页
参考基于linux网络聊天室的设计_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《参考基于linux网络聊天室的设计》由会员分享,可在线阅读,更多相关《参考基于linux网络聊天室的设计(48页珍藏版)》请在金锄头文库上搜索。

1、长沙理工大学长沙理工大学高级操作系统高级操作系统课程设计报告课程设计报告学学 院院 计算机与通信工程计算机与通信工程 专专 业业 计算机科学与技术计算机科学与技术 班班 级级 学学 号号 学生姓名学生姓名 指导教师指导教师 课程成绩课程成绩 完成日期完成日期 课程设计任务书课程设计任务书计算机与通信工程学院 计算机科学与技术专业课程名称高级操作系统课程设计时间20112012 学年第 2 学期 12 周学生姓名指导老师题 目基于 linux 网络聊天室的设计主要内容:本课程设计主要实现一个 Linux 下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和

2、任意运行了客户端程序的主机进行通信,通信内容能够通过终端显示出来。两个部分都使用 C 语言,利用 vi 编辑器,通过 Berkeley 套接口编程实现相关功能要求:(1)主要实现一个 Linux 下的局域网聊天工具的设计,进一步掌握vi,gcc 等工具的使用,并且熟悉 Linux 下的网络编程,以及多线程编程。(2)通过实际项目的分析、安装、配置、测试等工作,掌握用 Linux系统下的网络聊天室的应用。(3)按要求编写课程设计报告书,能正确编写分析、设计、编码、测试等技术文档和用户使用手册。应当提交的文件:(1)课程设计报告。(2)课程设计附件(实验数据、测试截图等) 。课程设计成绩评定课程设

3、计成绩评定学学 院院 计算机与通信工程计算机与通信工程 专专 业业 计算机科学与技术计算机科学与技术 班班 级级 学学 号号 学生姓名学生姓名 指导教师指导教师 课程成绩课程成绩 完成日期完成日期 指导教师对学生在课程设计中的评价指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手 能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日目录1 引言1.1 课程设计背景 1.2 课程设计目的 1.3 课程设计内容 2 技术介绍2.1TCP

4、和 UDP 介绍2.2 客户/服务器模型 2.3 网络套接字(socket)的概念2.4 多线程的概念 3 系统设计3.1 系统结构设计3.2 通信设计 4 系统实现4.1 系统调用相关函数 4.2 系统实现过程说明5 运行效果 结束语致谢参考文献附录基于 Linux 网络聊天室的设计 第页 共 21 页 基于基于 linux 网络聊天室的设计网络聊天室的设计学生姓名:学生姓名: 指导老师:指导老师: 摘 要 本课程设计主要实现一个 Linux 下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机进行通信,通信内容能够通过终端显

5、示出来。两个部分都使用 C 语言,利用 vi 编辑器,通过 Berkeley 套接口编程实现相关功能。关键词 Linux;网络聊天室 ;客户端; 主机;基于 Linux 网络聊天室的设计 第页 共 21 页 1 引 言1.1 课程设计背景Linux 是一种针对 PC 计算机和工作站的操作系统,它具有像 Windows 和 Mac 那样的功能齐全的图形用户界面(GUI,Graphical User Interface)。Linus Torvald 和其它的遍布世界各地的编程人员共同开发的1。提到 Linux 我们不能不提 GNU 和 Unix。Richard M.Stallman 建立的自由软件

6、联盟出版了两种许可证,GNU 通用公共许可证(GNU Gneral Public License,GPL)和 GNU 函数库通用公共许可证(GNU Library Gneral Public License,LGPL)。大部分 GNU 工程的软件和文档是以 GNU 通用公共许可证发行的,但是有一些库是以 GNU 函数库通用公共许可证发行的。按照 GNU 通用公共许可证的规定,Linux 的源代码可以自由获取,这满足了我们学习该系统的强烈愿望。GPL 充分体现了 Stallman 的思想:只要用户所做的修改是同等自由的,用户可以自由地使用、拷贝、查询、重用、修改甚至发布这个软件。通过这种方式,G

7、PL 保证了 Linux(以及同一许可证下的大量其他软件)不仅现在自由可用,而且皮后经过任何修改这后都仍然可以自由使用。Unix 是由 ATT 贝尔实验室的 Ken Thompson 和 Dennis Ritchie 于 1969 年在一台已经废弃了的 PDP-7 上开发的;最初它是一个用汇编语言写成的单用户操作系统。后来,他们又在 PDP-11 上用 C 语言重新编写(发明 C 语言的部分目的就在于此),把 Unix 做成为了一个文本处理系统,这使 Unix 在贝尔实验室得到广泛的应用。Unix 的最初版本免费提供给许多知名的大学的计算机系使用。加州大学伯克利分校的计算机系就是其中的一名,并

8、地 Unix 进行了修改增加了许多新的特点,这就是主为人知的 BSC 版本的 Unix。与此同时,其它独立开发的 Unix 版本也开始萌生。Unix 不断发展了,各种版本被应用到不同的计算机使用。而 Linux 最初是专门为基于 Intel 的个人计算机设计的。(1)Linux 的昨天1991 年,一名叫 Linus Torvalds 的芬兰大学生对 Unix 各种版本对于 80386 类的机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持 POSIX 标准的、类 Unix 的操作系统内核,该系统吸收了 BSD 和 System V 的优点,同进摒弃了它们的缺点。他独立把这基于 Linu

9、x 网络聊天室的设计 第页 共 21 页 个内核开发到 0.02 版,这个版本已经可以运行 gcc、bash 和很少的一些应用程序。后来,他又开始了在因特网上寻求广泛的帮助。 1994 年,Linux 已经升级到 1.0 版本。它的源代码量也呈指数形式增长,实现了基本的 TCP/IP 功能,此时 Linux 已经拥有大约 10 万的用户。(2) Linux 的今天作为一各服务器级的操作系统,Linux 已经成熟了。现在的 Linux 内核由 150 多行代码组成,能作为 Web 服务器平台,也为越来越多的商业用户提供文件和打印服务。它既被当作邮件服务器的一种候选平台,也被当作一种强壮而安全的防

10、火墙。Linux 的企业级特性,比如支持多处理器、支持大型文件系统、日志文件系统以及密集型计算和高可用性集群技术,也逐步成熟。桌面上的 Linux 也在继续完善。KDE 桌面提供的图形用户界面在易用性和可配置方面都能和微软的 Windows 相媲美。(3) Linux 的明天Linux 最强大的生命力在于其公开的开发过程。每个人都有可以自由获取内核源程序,每个人都有要不得以运载源程序加以修改,而后他人也可以自由获取你修改后的源程序。Linux 这种独特的自由流畅的开发模型已被命名为 bazaar(集市模型) 。Bazaar 开发模型通过重视实验,征集并充分利用早期的反馈,对巨大数量的脑力资源进

11、行平衡配置,可以开发出更优秀的软件。本联盟就是想通过 bazaar 开发模型,在网上召集一些 Linux 的爱好者,开发出更优秀的操作系统或软件。1.2 课程设计目的由于 Linux 的开源的特点,越来越多的人转而使用 Linux 做为 PC 机的操作系统。但是Linux 的真正兴起只是在最近几年,因此很多功能并不是很完善,并且由于 Linux 的开源特征,很多软件开发公司很难从中获得直接利益,因此很多 Windows 上的实用的软件,在 Linux 下却很少见。本课程设计正是为了解决 Linux 下局域网聊天问题而设计的,并且希望通过本课程设计可以更好的了解 Linux 操作系统的原理,进一

12、步掌握 vi,gcc 等工具的使用,并且熟悉 Linux 下的网络编程,以及多线程编程。1.3 课程设计内容本课程设计主要实现一个 Linux 下的局域网聊天工具的设计。该设计主要分为两部分,客户端部分和主机部分。运行服务器端程序可以和任意运行了客户端程序的主机进行通信,通信内容能够通过终端显示出来。两个部分都使用 C 语言,利用 vi 编辑器,通过基于 Linux 网络聊天室的设计 第页 共 21 页 Berkeley 套接口编程实现相关功能。基于 Linux 网络聊天室的设计 第页 共 21 页 2 技术介绍2.1TCP 和 UDP 介绍(1)UDP 通信UDP 是用户数据报协议的简称。它

13、是以中午连接的逻辑通信信道。UDP 在传送数据之前不需要先建立连接,远地主机的传输层在收到 udp 数据报后,不需要给出任何确认,所以不能保证其交付时可靠。它的特点是:因无连接,故提供的是不可靠的信道,但也是因无连接而具有很好的传输效率。(2)TCP 通信TCP 是传输控制协议的简称,它是提供一条全双工的、可靠的信道。TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。由于 TCP 要提供可靠的、面向连接的运输服务,所以不可避免地增加了许多系统开销,比如确认、流量控制、计时器以及连接管理等都需要占用许多系统的时空资源。 两个计算机之间如果使用 TCP 通信,其连

14、接过程需要三次握手实现,如实验图 2-1 所示。图 2.1 用三次握手建立 TCP 连接对于两个计算机之间连接的释放过程也需要类似的 3 次握手的互相确认的过程,如实验基于 Linux 网络聊天室的设计 第页 共 21 页 图 2-2 所示。图 2.2 TCP 连接的释放过程2.2 客户/服务器模型在客户/服务器模型中,多个相互通信的计算机都作为客户端,与网络服务器进行连接,并通过服务器进行信息的传递3。所以多个客户端之间的通信就变为了客户端与服务端的通信。所以,采用客户/服务器模型进行网络聊天需要分别编写服务器端和客户端的程序,服务器和客户端之间相互通信的同步关系和各自的程序流程如实验图 2-3 所示。基于 Linux 网络聊天室的设计 第页 共 21 页 图 2.3 Socket

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号