网络聊天程序设计(linux版)

网络聊天程序设计(linux版)

ID:19764243

大小:169.50 KB

页数:20页

时间:2018-10-06

网络聊天程序设计(linux版)_第1页
网络聊天程序设计(linux版)_第2页
网络聊天程序设计(linux版)_第3页
网络聊天程序设计(linux版)_第4页
网络聊天程序设计(linux版)_第5页
资源描述:

《网络聊天程序设计(linux版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、江西理工大学应用科学学院嵌入式系统开发技术课程设计专业:电子信息工程班级:电信131班学号:0807011310908070113118姓名:张越陈成设计题目:网络聊天程序的设计2016年11月课程设计评分表姓名张越陈成班级电信131班学号080701131090807011318课设题目网络聊天程序的设计指导教师曾璐评分项目满分分值得分设计文档(30分)文档格式封面2页面布局4目录格式3图表质量2页眉页脚2文档内容内容完整性6内容逻辑性5内容正确性6程序代码(30分)程序功能15编程规范7编程文档8答辩(20分)课题陈述7问题答辩10是否超时3

2、考勤(20分)20总评成绩指导教师评语签名:年月日教研室意见签名:年月日目录1.系统概述12.需求分析22.1功能需求22.2性能需求22.3运行环境要求23.系统设计33.1系统总体流程图34.调试及测试34.1调试结果34.2调试结果分析55.设计总结66.参考文献6附录71.系统概述Linux是一种针对PC计算机和工作站得操作系统。他具有像Windows和Mac那样的功能齐全的图形用户界面。由于Linux的开源的特点,越来越多的人转而使用Linux作为PC机得操作系统。网络聊天程序是目前应用极为广泛的一种网络软件,对于方便人们的交流沟通非常

3、有效,同时,作为一种典型的网络应用,编写网络聊天程序是学习基于Linux的网络编程的有效方法。本次课题设计是在使用Linux线程和Socket接口的基础上,编写网络聊天程序,从而掌握Linux应用程序开发的基本方法,练习Linux线程及Socket编程的方法,从而将所学知识融会贯通。132.需求分析2.1功能需求本次课程设计需要完成以下功能:(1)实现在服务器的控制下,完成多人聊天,采用单机多终端模拟方式。(2)在服务器端,使用多线程机制,为多个用户服务。(3)服务器能够对要求接入的客户端进行身份识别,完成聊天数据的转发,并能够将不同用户聊天记录

4、存档。2.2性能需求(1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。(2)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。13(3)宜操作性,程序简单易懂,容易上手使用。2.3运行环境要求本项目开发主要完成软件开发可在Linux和windows平台下开发3.系统设计3.1系统总体流程图13图1系统设计流程图4.调试及测试4.1

5、调试结果1,启动SSHSecureShell软件后,将程序进行编译:13图6编译程序,2,编译成功后,将服务器打开:图7打开服务器3,打开服务器以后,需输入用户名称,即可进入聊天室进行聊天:13图8准备进行聊天4,用户进行聊天:图9用户聊天界面a图10用户聊天界面b134.2调试结果分析这是一个聊天室程序,可以实现群聊的功能,即当某个客户发出消息后,服务器和其他个客户端都能收到此消息。且能够显示客户端的用户名。但客户端退出聊天室后,服务器和其他在线客户端会有提示。实现群聊的机制是:当某个客户端需要发送消息是,它将此消息发送给服务器,服务器再将此消

6、息转发给各客户端,各客户端之间是无连接的,即相互之间不能直接通信。因此,在服务器中,有两个线程,主线程用来监听是否有客户端登录服务器,若有,建立与其连接的套接字,并存入在线客户序列里,辅助线程是接收转发线程,其依次读取个客户端,看是否有消息送达,若有,取出,并转发给各其他客户端。在客户端也有两个线程,主线程用来向服务器发送消息,辅助线程用来接收服务器发出的消息。5.设计总结转眼间为期一周的嵌入式系统开发课程设计转眼就结束了,这次课程设计,我学会了许多课本上学不到的东西,同时也加强了我的动手、思考和解决问题的能力以及学会了相互帮助,相互团结的团队精

7、神,受益匪浅。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。13感谢谢老师的悉心教导和认真帮助,在我们遇到各种困难时给予我们最深刻的指导,让我们能够较顺利的完成此次课程设计。本次课程设计有张越,陈成集体完成。6.参考文

8、献[1] Bruce Molay. Unix/Linux编程实践教程. 北京:清华大学出版社,2011 [2] 金钟夫,杜刚.浅析soc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。