- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC课程设计报告-聊天室程序设计汇
河海大学计算机及信息工程学院
MFC课程设计报告
题 目 聊天室程序设计
学 号
专 业
授课班号
学生姓名
指导教师
完成时间
题目:设计一个聊天室系统,实现多人一起聊天。
引言
1.1开发背景
随着网络信息时代的来临,INTERNET应用越来越广泛,人们越来越习惯于在网上获取和交流信息。据调查显示,80%以上的人上网都会打开聊天工具来聊天,而几乎每一个年轻人都会去聊天。使用网上聊天已经成为现代年轻人一种新的交往方式。聊天室更适合于陌生人之间进行较为主观、感兴化的讨论。所以有大部分的人会进入聊天室聊天,它会给人一个完全自由的聊天世界。因此我联系所学的MFC知识,决定做一个简易的聊天室程序。
1.2开发环境以及运行环境
1.2.1 开发环境
Intel? Pentium? 4 2.0GHz,512M内存,80G硬盘
Microsoft? Windows? XP Professional
Microsoft? Visual C++ 6.0
1.2.2 运行环境
Intel? Pentium? 2及以上处理器,32M以上内存,4G以上硬盘
Microsoft? Windows? XP操作系统
800*600或以上的屏幕分辨率
二.需求分析
用WINSOCK实现简单的网络聊天;
在MFC开发平台上编写一个聊天系统;
得server和client之间可以相互通信;
多人能够发送信息至服务器,首先显示进入聊天室的成员名,然后显示对方名字和聊天信息,可以并发执行。
三、算法分析
建立连接过程流程图如下:
四、详细设计
程序个模块代码如下:
1.客户端
(1)通过AppWizard生成基于对话框的应用程序ChatClient,在向导的第二步选择WindowsSockets的支持,其余步骤均用默认值。
(2)增加一个登录服务器的对话框资源,其ID为IDD_SETUP,然后通过ClassWizard生成对应的基于CDialog的类CSetupDlg。
(3)给对话框CSetupDlg增加3个编辑框,用来输入登录信息(聊天代号、服务器地址以及服务器端口号),
(4)通过ClassWizard生成对应的基于CSocket的类CChatSocket。
(5)给CChatSocket类声明一个主对话框CChatClientDlg指针类型的私有成员变量,其代码如下:
protected:
CChatClientDlg* m_pDlg;
并且在ChatSocket类的头文件开始处增加如下代码:
class CChatClientDlg; //主对话框类
(6)给ChatSocket类重载一个构造函数,其定义如下:
CChatSocket::CChatSocket(CChatClientDlg* pDlg)
{
m_pDlg = pDlg;
}
并且在ChatSocket类的CPP文件开始处增加如下语句:
#include ChatClientDlg.h
(7)通过ClassWizard响应类的ChatSocket的OnReceive函数,表示可以接收数据了,其代码如下:
//通知客户端可以接受数据
void CChatSocket::OnReceive(int nErrorCode) {
CSocket::OnReceive(nErrorCode);
if(m_pDlg){
PlaySound(F:\msg.wav,NULL,SND_ASYNC|SND_NODEFAULT);
m_pDlg-ProcessPendingRead();
}
}
(8)在主对话框ChatClientDlg的头文件中定义ChatSocket指针类型的私有成员变量,其代码如下:
CChatSocket* m_pSocket;
并且在CChatClientDlg类的头文件开始处增加如下代码:
class CChatSocket;//基于CSocket的新类CChatSocket
(9)给对话框CChatClientDlg增加处理接收数据的共有成员函数ProcessPendingRead,其定义如下:
void CChatClientDlg::ProcessPendingRead()//处理接收的数据{
//定义缓冲区
cha
您可能关注的文档
- fly手机9型号Y605)产品培训手册汇.ppt
- Gemtek WLAN产品及解决方案汇.ppt
- GDJD-3ASF6气体密度继电器校验仪产品操作手册汇.doc
- FTTH冷接续产品SQAC汇.ppt
- GLP的基本概念与主要内容汇.ppt
- GK-G04 SPDH155TM 光纤传输设备说明书汇.doc
- GMP培训洁净室与微生物汇.ppt
- GoldenGate TDM软件在容灾方面应用的技术特点汇.doc
- FTTH系统ODN网络建设方案汇.ppt
- GPRS无线网络优化浅析-广西汇.doc
- 2016-2017学年高中生物第二单元生态工程与生物安全第1章第2节我国的生态工程教案中图版选修3.doc
- 2022-2023学年小升初英语易错点专练06完形填空15篇(广州教科版专版含答案)2.docx
- 期中专项四年级英语下册(含答案)3.docx
- 期末卷(二)(含答案解析)-2022-2023学年高二历史期中期末复习备考必刷题(选择性必修一国家制度与社会治理).docx
- 第4课欧姆定律的应用第一讲欧姆定律实验探究(原卷版).docx
- Unit1限制性定语从句语法讲义人教版高一英语学生版213.docx
- 2023年宁波市初中毕业升学文化考试科学模拟卷(八).docx
- 5.3细胞呼吸的原理和应用课件高一上学期生物人教版必修12.pptx
- 高中政治更好发挥政府作用教学设计.docx
- 体悟民间故事中的幸福--五上《中国民间故事》导读课.docx
文档评论(0)