全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
局 域 网 聊 天 程 序项目简介 姓名:翟宾 时间: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年短视频创意策划合同协议
- 老年人运动系统
- 施工安全文明施工奖惩制度汇编
- 空调包工安装合同范本
- 2025北京语言大学出版社有限公司招聘5人笔试历年典型考点题库附带答案详解3套试卷
- 2025文山市卫生健康系统选调工作人员(10人)考试笔试备考试题及答案解析
- 2025年生石灰行业分析报告及未来发展趋势预测
- 2025-2026学年上学期高一物理教科版期中必刷常考题之实验:用打点计时器测量小车的速度
- 2025新版生产安全事故应急预案参考模板
- 日式皮肤专业知识培训班课件
- 《学校食堂大宗食材采购验收管理工作指引》 专题培训
评论
0/150
提交评论