



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
局 域 网 聊 天 程 序项目简介 姓名:翟宾 时间:2013-10-20项目名称:局域网聊天程序项目简介:本项目是在Linux环境下,使用QT实现图形界面接口,利用网络编程,多线程等技术,模拟网络上的多人会话聊天程序,每当有客户端请求连接,便建立线程负责向服务器发送消息。服务器的端监听端口,每收到客户的消息便广播给其维护的链表指针指向的对象,从而实现多个客户之间消息的传播。概要设计:本项目主要由服务器端和客户端两大模块组成。每个模块的主要功能有:服务器端:1负责绑定与监听目标端口2为每个客户建立连接,维护指向客户对象的指针链表,处理客户数据3循环接受客户消息并广播给链表中所有指针指向的客户4简单的异常捕捉、处理客户端: 1请求与服务器端口的连接 2建立线程向服务器发送并接受消息 3简单的异常捕获、处理详细设计:服务器端主要由六个类组成:1 ServerWindow类:构建图形界面,并用链表存储每个客户2ServerSocket类:建立服务器socket,初始化服务器网络,并接收客户,返回一个文件描述符3两个线程类: 1ThAccept类:接收客户对象 2ThClient类:为每个客户建立线程,处理数据并广播出去4异常捕获类:进行简单的异常捕获和处理客户端主要由四个类组成:1ClientWindow类:构建图形界面2ClientSocket类:连接服务器端,完成数据的接收和发送3ThChat类:聊天线程,循环接收客户并处理相关信息4异常捕获类:进行简单的异常捕获和处理具体类图及主要功能如下所示:ServerSocket类initsocket()初始化网络accept()接收客户,返回一个文件描述符服务器端:ServerWindow类 构建图形界面Users:List 用一个链表实现对每个客户的存储ThClient类run()为每一个客户做一个客户端,接收客户数据,并广播出去,显示到主窗体上ThAccept类init()线程初始化run()循环调用accept()函数,接收客户 客户端:ClientWindow类构建图形界面ClientSocket类connect()连接服务器端readdata()读数据writedata()写数据ThChat类run()接收客户项目总结:这个项目是在项目需求已知的情况下,独立设计其类的封装和模块的细化,提高了软件的可扩展性,实现了高内聚低耦合的设计。但是在具体实现中,自己不能对异常捕获有个很好的把握,这一块是在老师的帮助下完成的。通过这个项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物质能发电项目在生物质能产业链升级中的投资前景分析报告
- 广告装饰工程合同模板(3篇)
- 宪法考试题库及答案八年级
- 2025年莱芜中考语文考试题及答案
- 2025年工业废气深度净化技术在制药行业的应用与风险控制报告
- 2025合作合同 共同投资协议
- 广告led投放合同模板下载(3篇)
- 购销合同诉讼书模板范文(3篇)
- 2025年幼儿园课程教师资格考试真题及答案
- 温州省中考真题及答案
- 生产成本控制及预算管理表格模板
- 2025年家庭健康管理师考试模拟题及答案
- 山东省青岛市即墨区实验学校2025-2026学年九年级上学期开学考试英语试题(含答案)
- 砂石骨料加工管理办法
- 西师大版数学六年级上册 第一单元测试卷(A)(含解析)
- 人形机器人-价值5万亿美元的全球市场 Humanoids A $5 Trillion Global Market
- 好好说话暖人心课件
- 部队新闻培训课件
- 2025年国企中层干部竞聘笔试题及答案
- 材料返款协议书
- 船员技能评估体系-洞察及研究
评论
0/150
提交评论