网络聊天程序设计(Linux版)
课设
江西理工大学应用科学学院
嵌入式系统开发技术
课程设计
专 业: 电子信息工程
班 级: 092班
学 号: 20号
姓 名:设计题目:
2012年11月
课设
课设
课程设计评分表
课设
课设
目 录
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
参考文献 ............................................................................................................................................................ 10
附录 .....................................................................................................................................................................11
课设
课设
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) 可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。
(2) 模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。
(3) 宜操作性,程序简单易懂,容易上 …… 此处隐藏:3973字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




