- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象大作业
面向对象作业
指导教师:
院 系: 控制科学与工程学院
班 级:
学 号:
姓 名:
提交时间: 2013-12-22
大连理工大学
Dalian University of Technology
一 问题分析
随着计算机网络的不断发展,人们越来越习惯于在网上交流信息,上网聊天已经成为人们日常生活的一部分。使用网上聊天已经成为现代年轻人一种新的交往方式。聊天室更适合于陌生人之间进行较为主观、感兴化的讨论。所以有大部分的人会进入聊天室聊天,它会给人一个完全自由的聊天世界。尤其是针对公司等团体越来越需求一款可以群聊的并且可以发送文件的软件。基于局域网的聊天室可以满足人们发送消息等基本功能,因此,制作一个聊天软件是很重要且非常有意义的。
本设计主要根据作业要求,实现单文档多视图交互、群聊、服务器文件传输、聊天记录的保存、视频播放等功能。
二 算法选择
在聊天室设计中,使用的协议主要有TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。其中TCP提供IP环境下的数据可靠传送,而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说TCP对应的是可靠性要求高色应用,为UDP则是可靠性要求低传输经济的应用。并且TCP属于面向连接的传输,UDP属于面向非连接的传输。相对来说,虽然TCP编程复杂,需要经过单词“对话”建立起来连接,但是稳定性强,不会出现对数据情况,所以选择TCP协议设计。使用MFC的封装类CSocket进行数据的传送,流程图如图1所示。
图 1 消息发送流程
三 方案设计
此系统分为两部分:服务器端和客户端。服务器端用于提供一个网络接口,等待客户端连接及发送请求,登录到洗服务器,然后进行消息的发送;客户端可以通过服务器端的IP地址发送连接请求,登录到聊天系统。聊天系统主要是通过使用各个类来实现相应的功能。
1. 服务器端
三个子窗口类CChatView、CleftView、CSmallView分别用于聊天信息显示、在线用户的显示、文件的发送。通过在主框架中对窗口进行分割成3部分并映射给三个视图类。分割结果如图所示2。
图 2 服务器窗口
几种重要视图类的成员函数或成员变量:
表格 1 视图类
类名 成员函数或变量 作用 CChatView void CChatView OnInitialUpdate() 创建控件与窗口进行绑定 void CChatView message(LPCTSTR lpszMessage) 将消息显示到对应窗口 CEdit m_EditBox; 编辑控件变量 CLeftView void CLeftView OnInitialUpdate() 初始化视图 void CLeftView DeleteChatter(CStringsNickName) 删除退出的用户 CSmallView void CSmallView SendFile(LPCTSTR strFilename) 发送文件 void CSmallView OnBnClickedCheck1() 监听客户端 CSocket sockSrvr、sockRecv; 用于监听和发送文件的套接字
套接字类CClientSocket、CListeningSocket分别用于消息的发送和监听;CMsg用于消息的存储;CPortDlg类用于首次登陆服务器端时IP地址及端口的设置。登录对话框如图3所示。
图 3 端口设置
2. 客户端
四个窗口类CInputView、CLeftView、CMessageView、CSmallView分别用于消息的输入、在线用户的显示、消息记录的显示和文件接收窗口。同样通过在主框架中对窗口进行分割成3部分并映射给三个视图类。分割结果如图所示。
图 4 客户端窗口
客户端窗口类的成员函数及变量如表2所示。
表格 2 客户端视图类
类名 成员函数或变量 作用 CInputView void CInputView OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 输入窗口与聊天窗口交互 BOOL CInputView PreCreateWindow(CREATESTRUCT cs) 对应窗口的建立 CLeft
您可能关注的文档
最近下载
- 教科版科学五年级下册第三单元 环境与我们 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一体化).docx VIP
- 2024年南京信息职业技术学院单招数学考试试题及答案解析.docx VIP
- 音韵学讲义教案第二章音韵学的基本知识.doc
- 教科版科学五年级下册第二单元 船的研究 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一体化).docx VIP
- 石油化工3503电缆安装质量验收记录.docx VIP
- 2025年商铺租赁合同范本全新修订.docx VIP
- 《中医病证分类与代码》(2020修订版).docx VIP
- 中医食疗 糖尿病痛风类风湿的中医食疗 课件.ppt VIP
- 安徽中汇发新材料有限公司35万吨年轻烃裂解制苯乙烯项目(一期).pdf VIP
- 2025年南京信息职业技术学院单招语文考试题库及答案解析.docx VIP
原创力文档


文档评论(0)