电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Linux基于TCP的网络聊天室软件131

15页
  • 卖家[上传人]:jiups****uk12
  • 文档编号:88918575
  • 上传时间:2019-05-13
  • 文档格式:DOC
  • 文档大小:1.50MB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: Linux程序设计 选题名称: 基于TCP的网络聊天室的设计与实现 姓 名: 姓 名: 姓 名: 专业班级: 软件工程 系 (院): 计算机工程学院 设计时间: 2016.11.162016.12.7 设计地点: 软件实验室、教室 成绩:指导教师评语: 签名: 年 月 日Linux程序设计报告 第 14 页,共 15 页1课程设计目的Linux程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对Linux程序设计的理论、方法和基础知识的理解,掌握使用C语言进行Linux程序设计的基本方法,提高运用所学知识分析实际问题、解决实际问题的能力。2课程设计任务与要求:2.1 课程设计要求课程设计选用VIM、GDB和SecureCRT作为开发平台以提高开发效率,尽可能熟练掌握其开发环境。采用结构化程序设计技术进行系统的分析设计,在Visio中画出系统功能结构图和程序流程图,并将相应的图例说明复制到设计报告中。通过这次设计,要求掌握以下内容:1)Linux C编程工

      2、具:GCC和GDB2)文件I/O操作3)文件属性及目录操作4)终端控制与信号处理5)进程控制6)进程间通信7)流式套接字编程8)线程管理2.2 课程设计任务(大作业课题一)1)课题名称:基于TCP的网络聊天室的设计和实现。2)内容描述:实现目标:一个在Linux下可以使用的聊天软件,要求实现如下功能:l 采用Client/Server架构l Client A 登陆聊天服务器前,需要注册自己的ID和密码l 注册成功后,Client A 就可以通过自己的ID和密码登陆聊天服务器l 多个Client X 可以同时登陆聊天服务器之后,与其他用户进行通讯聊天l Client A成功登陆后可以查看当前聊天室内其他在线用户Client Xl Client A可以选择发消息给某个特定的Client X,即“悄悄话”功能l Client A 可以选择发消息全部的在线用户,即“群发消息”功能l Client A 在退出时需要保存聊天记录l Server端维护一个所有登陆用户的聊天会的记录文件,以便备查可以选择实现的附加功能:l Server可以内建一个特殊权限的账号admin,用于管理聊天室l Admin

      3、可以将某个Client X “踢出聊天室”3)附加功能:l 文件传输3课程设计说明书3.1 需求分析随着科学技术和社会的不断发展,计算机产业越来越发达。人们对于电子信息产品的需求越来越大,在这样一个信息时代,交流的方式日趋多元化和网络化。通信产业的发展非常迅猛,现在的科技已经可以实现很多种网络交流方式和信息传播方式,但是聊天室一直是最基础之一。聊天室技术仍然是我们学习的基础和重点。本次课题将全面的分析与设计一个网络聊天室。网络聊天室现在已经有相当成熟的发展了,QQ,微信等主流的聊天工具是这项技术的代表。在当下成熟的编程环境下,聊天室的设计与实现是一个重要的基础练习。下面将简要介绍一下网络聊天室的特点:1) 便捷性:摆脱了传统的通信方式,利用网络的廉价性,可以使用户更加自由地相互交流。2) 安全性:网络环境下,用户可以针对地去了解自己想要了解的信息,交流时可以使用虚拟的身份,一定程度上很好地保护了用户的个人隐私信息。3) 实时性:用户只要与想要通信的另一方取得联系,即可想面对面对话一样交流。3.2 概要设计本次试验设计一个网络聊天室,该软件采用Client/Server架构。聊天室的功能

      4、主要有:1) Client A 登陆聊天服务器前,需要注册自己的ID和密码2) 注册成功后,Client A 就可以通过自己的ID和密码登陆聊天服务器3) 多个Client X 可以同时登陆聊天服务器之后,与其他用户进行通讯聊天4) Client A成功登陆后可以查看当前聊天室内其他在线用户Client X5) Client A可以选择发消息给某个特定的Client X,即“悄悄话”功能6) Client A 可以选择发消息全部的在线用户,即“群发消息”功能7) Client A 在退出时需要保存聊天记录8) Server端维护一个所有登陆用户的聊天会的记录文件,以便备查3.3 详细设计1) 功能结构图:2) 程序流程图:l 注册:l 登录:l 传送文件:l 发送消息:4课程设计成果4.1 主要模块设计1)注册模块:client.c:server.c:check.c:此截图是在注册时系统判断注册用户是否重名的模块:2)发送消息模块:client.c:创建线程处理消息队列。这是消息处理函数:sever.c:发送给所有人的消息处理:发送给指定用户的消息处理:display.c:显示发送的消

      5、息:4.2 运行结果服务器端:服务器端查看连接用户列表:客户端一:客户端一发送消息给所有人:消息显示界面:客户端一查看在线用户列表:客户端一向客户端二传送文件:客户端二接收文件:客户端二退出:服务器端显示退出消息:服务器端踢出客户端一:5.课程设计心得本次实验实现的网络聊天室使用了Linux程序设计的很多重点的基础知识。这是一次非常综合的程序设计。我负责注册和登录界面的功能,这次实现的网络聊天室还有很多不足之处,主要是用户使用的友好性的设计。程序还需要大量的测试才能达到人机友好性的标准。本次CSDN上一位博主的原创代码。使用结构化软件设计的思路,采用瀑布开发模式, 6次迭代,其中有五个重要的迭代模型和七个基线模型产生。另外,在注册和登录模块中,用户信息文件是不能随便写入的,只有读取到注册标志位时,才能开放用户信息的文件的写入权限,这里用到了文件操作中的文件功能库中的函数去实现。另外,在消息显示模块中,聊天日志文件是关闭所有文件权限的,用到文件操作权限时才能开放,用完则归还权限。对于客户端的连接、消息的处理和文件传送,我都是使用线程管理技术去实现的,这样的好处就是可以大大提高服务器的负载。对于服务器创建异常、客户端连接的异常、消息队列的异常、文件传送中断等极端异常请况,自定义了信号去处理这些危险请况,保证了程序的健壮性。结合之前八次实验的知识,相对来说,很完整的完成了本次实验,实现了Linux下的网络聊天室

      《Linux基于TCP的网络聊天室软件131》由会员jiups****uk12分享,可在线阅读,更多相关《Linux基于TCP的网络聊天室软件131》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.