- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(学士)学位论文基于linux的实时通信软件设计
河 南 科 技 学 院 实 习 报 告
实习课题: 基于linux的实时通信软件设计
姓名:
学号:
班级:
指导教师:
实习时间:2013/10/05-2013/12/20
目 录
1. 系统概述 1
2. 需求分析 2
2.1 功能需求 2
2.2 性能需求 2
2.3运行环境要求 2
3. 系统设计 3
3.1 系统总体流程图 3
3.2系统模块设计 3
3.2.1 转发信息模块 3
3.2.2 用户登录模块 3
3.2.3 群聊模块 4
3.3 详细设计 4
3.3.1 登录模块设计 4
3.3.2 服务器模块 5
3.3.3 消息格式化模块 6
3.3.4 群聊模块 7
4. 调试及测试 8
4.1调试结果 8
4.2 调试结果分析 9
5. 设计总结 10
参考文献 11
附录 12
1. 系统概述
Linux是一种针对PC计算机和工作站得操作系统。他具有像Windows和Mac那样的功能齐全的图形用户界面。由于Linux的开源的特点,越来越多的人转而使用Linux作为PC机得操作系统。
Linux系统支持三种并发方式:多进程、多线程、以及I/O多路复用。而多线程技术是并行技术中开销较小,效率较高的一种方式,与其他两种方式相比,线程占用更少的系统资源,而且效率更高,是并发技术中最常用的方式。
网络聊天程序是目前应用极为广泛的一种网络软件,对于方便人们的交流沟通非常有效,同时,作为一种典型的网络应用,编写网络聊天程序是学习基于Linux的网络编程的有效方法。
服务器端:循环等候客户连接请求,一旦有客户连接请求,开启一个子线程接受并处理客户请求,接受来自客户的信息。然后将客户信息反转后再返回给客户端。主线程继续等待其他客户请求。服务器具有同时处理多个用户的能力。
客户端:首先与服务器建立连接,然后向服务器发送数据进行交互,接受服务器的反馈信息并显示,之后继续等待用户输入直至用户输入ctrl+D结束通信。客户端接到输入ctrl+D后,客户端关闭连接并退出。
本次课题设计是在使用Linux线程和Socket接口的基础上,编写网络聊天程序,从而掌握Linux应用程序开发的基本方法,练习Linux线程及Socket编程的方法,从而将所学知识融会贯通。
2. 需求分析
2.1 功能需求
本次课程设计需要完成以下功能:
(1) 实现在服务器的控制下,完成多人聊天,采用单机多终端模拟方式。
(2) 在服务器端,使用多线程机制,为多个用户服务。
(3) 服务器能够对要求接入的客户端进行身份识别,完成聊天数据的转发,并能够将不同用户聊天记录存档。
(4) 可发送文件,发送者可以取消开始或中途想放弃传达的文件,接受者可接受或拒绝传来的文件,并能够将传来的文件设定本地保存位置。
2.2 性能需求
(1) 可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。
模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。
宜操作性,程序简单易懂,容易上手使用。
图1 系统设计流程图
3.2系统模块设计
3.2.1 转发信息模块
服务器定义readMessage函数用于存储要求请求连接的用户名,客户发送的信息,该消息服务器、客户端共享,客户端读取该信息,从而实现信息转发。
3.2.2 用户登录模块
用户输入用户名、服务器ip地址及密码,如果通过合法性检测,则可进入聊天主界面与其他人进行聊天。
3.2.3 群聊模块
客户端点击“发送信息”按钮,该客户端的ip地址、端口号以及信息内容一起打包写入服务器readMessage函数,客户端通过线程可以读取该客户write中的内容。
3.3 详细设计
3.3.1 登录模块设计
图2 登录模块流程图
用户登录需输入相关信息,经过相关的检测后,方可登录。登陆后可查看群聊信息,且可与其他人进行聊天
3.3.2 服务器模块
图3 服务器模块流程图
该服务器界面用于显示用户上线与下线的信息,不可用于聊天,是用于将客户端群聊时发送的信息转发给每一个在线用户,处于一个承接的作用。
3.3.3 消息格式化模块
消息格式化是将用户的对应信息合成固定形式进行传送。
图4 消息格式化模块流程图
3.3.4 群聊模块
用
您可能关注的文档
- (学士)学位论文基于android的传感器技术应用开发.doc
- (学士)学位论文基于android的教育机器人平台设计论文项目立项论证报告.doc
- (学士)学位论文基于ajax的信息发布与反馈系统的设计论文.doc
- (学士)学位论文基于android的手机团购应用的设计论文与实现设计论文.doc
- (学士)学位论文基于android的智能家居系统设计论文.doc
- (学士)学位论文基于android的音乐播放器的设计.doc
- (学士)学位论文基于android平台的移动图书馆客户端设计论文与开发.doc
- (学士)学位论文基于android平台的在线音乐客户端设计论文与实现.doc
- (学士)学位论文基于android手机电子书阅读器设计论文与实现.doc
- (学士)学位论文基于android贪吃蛇游戏.doc
- (学士)学位论文基于lucene的图书搜索引擎.doc
- (学士)学位论文基于lucene的桌面全文搜索引擎研究-.doc
- (学士)学位论文基于lucene的桌面搜索引擎.doc
- (学士)学位论文基于matlab的fm通信系统仿真设计与实现课程设计报告.doc
- (学士)学位论文基于matlab的iir滤波器设计与仿真.doc
- (学士)学位论文基于matlab测量平差程序设计-创新实践报告.doc
- (学士)学位论文基于matlab的pss仿真分析—.doc
- (学士)学位论文基于matlab的常用滤波算法研究(含代码).doc
- (学士)学位论文基于matlab的锅炉汽包液位控制仿真研究.doc
- (学士)学位论文基于matlab的扩频通信系统仿真研究.doc
最近下载
- 危重症患者护理文书书写规范PPT参考课件.ppt VIP
- 2025版新教材高中语文第一单元第2课立在地球边上放号红烛峨日朵雪峰之侧致云雀教案新人教版必修上册.docx VIP
- 经史子集国学文库:集部·小说·唐钟馗全传.pdf
- 采购部年度总结及次年工作计划 .ppt VIP
- AI大模型在军事领域中的应用与军事智能化.pptx VIP
- 现场应急处置卡(34类常见事故).doc VIP
- 容积粘度吞咽测试(VVST)吞咽障碍的临床检测方法课件.ppt VIP
- CLSI-EP09-A3-2013中文翻译文档.pdf VIP
- 中医食疗学教案--------(06年春).doc VIP
- 图形显示装置使用说明书-北大青鸟.pdf VIP
文档评论(0)