欢迎来到天天文库
浏览记录
ID:9379646
大小:1.50 MB
页数:15页
时间:2018-04-29
《linux基于tcp的网络聊天室软件131》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、淮海工学院计算机工程学院课程设计报告设计名称:Linux程序设计选题名称:基于TCP的网络聊天室的设计与实现姓名:姓名:姓名:专业班级:软件工程系(院):计算机工程学院设计时间:2016.11.16~2016.12.7设计地点:软件实验室、教室成绩:指导教师评语:签名:年月日Linux程序设计报告第14页,共15页1.课程设计目的《Linux程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对Linux程序设计的理论、方法和基础知识的理解,掌握使用C语言进行Linux程序设计的基本方法,提高运
2、用所学知识分析实际问题、解决实际问题的能力。2.课程设计任务与要求:2.1课程设计要求课程设计选用VIM、GDB和SecureCRT作为开发平台以提高开发效率,尽可能熟练掌握其开发环境。采用结构化程序设计技术进行系统的分析设计,在Visio中画出系统功能结构图和程序流程图,并将相应的图例说明复制到设计报告中。通过这次设计,要求掌握以下内容:1)LinuxC编程工具:GCC和GDB2)文件I/O操作3)文件属性及目录操作4)终端控制与信号处理5)进程控制6)进程间通信7)流式套接字编程8)线程管理2.2课程设计任务(大作业课题一)1)课题名称:基于TCP的网络聊天室的设
3、计和实现。2)内容描述:实现目标:一个在Linux下可以使用的聊天软件,要求实现如下功能:l采用Client/Server架构lClientA登陆聊天服务器前,需要注册自己的ID和密码l注册成功后,ClientA就可以通过自己的ID和密码登陆聊天服务器l多个ClientX可以同时登陆聊天服务器之后,与其他用户进行通讯聊天lClientA成功登陆后可以查看当前聊天室内其他在线用户ClientXlClientA可以选择发消息给某个特定的ClientX,即“悄悄话”功能lClientA可以选择发消息全部的在线用户,即“群发消息”功能lClientA在退出时需要保存聊天记录l
4、Server端维护一个所有登陆用户的聊天会的记录文件,以便备查可以选择实现的附加功能:lServer可以内建一个特殊权限的账号admin,用于管理聊天室Linux程序设计报告第14页,共15页lAdmin可以将某个ClientX“踢出聊天室”3)附加功能:l文件传输3.课程设计说明书3.1需求分析随着科学技术和社会的不断发展,计算机产业越来越发达。人们对于电子信息产品的需求越来越大,在这样一个信息时代,交流的方式日趋多元化和网络化。通信产业的发展非常迅猛,现在的科技已经可以实现很多种网络交流方式和信息传播方式,但是聊天室一直是最基础之一。聊天室技术仍然是我们学习的基础
5、和重点。本次课题将全面的分析与设计一个网络聊天室。网络聊天室现在已经有相当成熟的发展了,QQ,微信等主流的聊天工具是这项技术的代表。在当下成熟的编程环境下,聊天室的设计与实现是一个重要的基础练习。下面将简要介绍一下网络聊天室的特点:1)便捷性:摆脱了传统的通信方式,利用网络的廉价性,可以使用户更加自由地相互交流。2)安全性:网络环境下,用户可以针对地去了解自己想要了解的信息,交流时可以使用虚拟的身份,一定程度上很好地保护了用户的个人隐私信息。3)实时性:用户只要与想要通信的另一方取得联系,即可想面对面对话一样交流。3.2概要设计本次试验设计一个网络聊天室,该软件采用C
6、lient/Server架构。聊天室的功能主要有:1)ClientA登陆聊天服务器前,需要注册自己的ID和密码2)注册成功后,ClientA就可以通过自己的ID和密码登陆聊天服务器3)多个ClientX可以同时登陆聊天服务器之后,与其他用户进行通讯聊天4)ClientA成功登陆后可以查看当前聊天室内其他在线用户ClientX5)ClientA可以选择发消息给某个特定的ClientX,即“悄悄话”功能6)ClientA可以选择发消息全部的在线用户,即“群发消息”功能7)ClientA在退出时需要保存聊天记录8)Server端维护一个所有登陆用户的聊天会的记录文件,以便备
7、查3.3详细设计1)功能结构图:Linux程序设计报告第14页,共15页1)程序流程图:l注册:l登录:Linux程序设计报告第14页,共15页l传送文件:l发送消息:Linux程序设计报告第14页,共15页4.课程设计成果4.1主要模块设计1)注册模块:client.c:server.c:Linux程序设计报告第14页,共15页check.c:此截图是在注册时系统判断注册用户是否重名的模块:Linux程序设计报告第14页,共15页2)发送消息模块:client.c:创建线程处理消息队列。这是消息处理函数:Linux程序设计报告第14页,共15页se
此文档下载收益归作者所有