资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
江西理工大学应用科学学院嵌入式系统开发技术 课程设计专 业: 电子信息工程 班 级: 092 班 学 号: 20 号 姓 名: 林洪 设计题目: 网络聊天程序设计 2012 年 11月课程设计评分表姓 名班 级学 号课设题目指导教师评分项目满分分值得分封面2页面布局4目录格式3图表质量2文档格式页眉页脚2内容完整性6内容逻辑性5设计文档(30分)文档内容内容正确性6程序功能15编程规范7程序代码(30分) 编程文档8课题陈述7问题答辩10答辩(20 分)是否超时3考勤(20 分)20总评成绩指导教师评语签名: 年 月 日教研室意见签名: 年 月 日目 录1. 系统概述 .1 2. 需求分析 .2 2.1 功能需求 .2 2.2 性能需求 .2 2.3 运行环境要求 .2 3. 系统设计 .3 3.1 系统总体流程图 .3 3.2 系统模块设计 .33.2.1 转发信息模块 .33.2.2 用户登录模块 .33.2.3 群聊模块 .43.3 详细设计 .43.3.1 登录模块设计 .43.3.2 服务器模块 .53.3.3 消息格式化模块 .63.3.4 群聊模块 .74. 调试及测试 .8 4.1 调试结果 .8 4.2 调试结果分析 .9 5. 设计总结 .10 参考文献 .10 附录 .11江西理工大学应用科学学院课程设计1 01. 系统概述系统概述Linux 是一种针对 PC 计算机和工作站得操作系统。他具有像 Windows 和 Mac 那样的功能齐全的图形用户界面。由于 Linux 的开源的特点,越来越多的人转而使用 Linux 作为PC 机得操作系统。Linux 系统支持三种并发方式:多进程、多线程、以及 I/O 多路复用。而多线程技术是并行技术中开销较小,效率较高的一种方式,与其他两种方式相比,线程占用更少的系统资源,而且效率更高,是并发技术中最常用的方式。网络聊天程序是目前应用极为广泛的一种网络软件,对于方便人们的交流沟通非常有效,同时,作为一种典型的网络应用,编写网络聊天程序是学习基于 Linux 的网络编程的有效方法。服务器端:循环等候客户连接请求,一旦有客户连接请求,开启一个子线程接受并处理客户请求,接受来自客户的信息。然后将客户信息反转后再返回给客户端。主线程继续等待其他客户请求。服务器具有同时处理多个用户的能力。客户端:首先与服务器建立连接,然后向服务器发送数据进行交互,接受服务器的反馈信息并显示,之后继续等待用户输入直至用户输入 ctrl+D 结束通信。客户端接到输入 ctrl+D 后,客户端关闭连接并退出。本次课题设计是在使用 Linux 线程和 Socket 接口的基础上,编写网络聊天程序,从而掌握 Linux 应用程序开发的基本方法,练习 Linux 线程及 Socket 编程的方法,从而将所学知识融会贯通。江西理工大学应用科学学院课程设计12. 需求分析需求分析2.1 功能需求功能需求本次课程设计需要完成以下功能:(1) 实现在服务器的控制下,完成多人聊天,采用单机多终端模拟方式。(2) 在服务器端,使用多线程机制,为多个用户服务。(3) 服务器能够对要求接入的客户端进行身份识别,完成聊天数据的转发,并能够将不同用户聊天记录存档。(4) 可发送文件,发送者可以取消开始或中途想放弃传达的文件,接受者可接受或拒绝传来的文件,并能够将传来的文件设定本地保存位置。2.2 性能需求性能需求(1) 可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。(2) 模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。(3) 宜操作性,程序简单易懂,容易上手使用。2.3 运行环境要求运行环境要求本项目开发主要完成软件开发可在 Linux 和 windows 平台下开发林洪: 网络聊天程序设计23. 系统设计系统设计3.1 系统总体流程图系统总体流程图启动客户端聊天启动服务器等待数据请求处理用户数据显示对所有人信息显示私聊信息登发送信息 入服务器显示在线 用户数据传输数据传输数据传输图 1 系统设计流程图3.2 系统模块设计系统模块设计3.2.1
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号