面向对象程序设计课程设计设计说明书网络聊天程序设计起止日期:2012年5月27日至2012年6月1日学生姓名何刘根班级计本103班学号成绩指导教师(签字)计算机与通信学院2012年5月30日网络聊天程序设计课题的介绍和课题的任务课题介绍:近年来随着PC的广泛应用和网络的不断发展,目前网络技术已经成为了计算机领域内的最热门的发展方向。聊天室。在网络早期就开始盛行,不论是BBS,IRC 都有类似网上聊天室的机制。聊天室适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了书信往返的时间,这也是网上交友之所以如此热门的原因。课题任务:1、综合运用本课程及计算机网络的相关知识设计并实现一个网络应用程序,以VisualC++,通过实践复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,进一步加强winsock编程技术。2、采用客户/服务器模式,分为客户端程序和服务器程序。服务器采用WINSOCKI/O模型中的任一种,支持多个客户同时在线聊天。客户端程序和服务器程序通过网络交换聊天字符串内容,服务器窗口的列表框中显示当前在线用户,支持服务器与客户端之间的私聊二、设计的要求用WINSOCK实现简单的网络聊天;在MFC开发平台上编写一个聊天系统;得server和client之间可以相互通信;多人能够发送信息至服务器,首先显示进入聊天室的成员名,然后显示对方名字和聊天信息,可以并发执行。服务器与单个客户端之间可以进行私聊三、系统的分析和系统中类的设计在此主要介绍服务器端的构建(即本人所负责的部分),不是本人负责的部分不过多介绍建立连接过程流程图如下: 程序个模块代码如下:(1)通过AppWizard生成基于对话框的应用程序ChatClient,在向导的第二步选择WindowsSockets的支持,其余步骤均用默认值。(2)增加一个登录服务器的对话框资源,其ID为IDD_SETUP,然后通过ClassWizard生成对应的基于CDialog的类CSetupDlg。(3)给对话框CSetupDlg增加3个编辑框,用来输入登录信息(聊天代号、服务器地址以及服务器端口号),(4)hatSocket。(5)hatClientDlg指针类型的私有成员变量,其代码如下:protected: CChatClientDlg*m_pDlg;并且在ChatSocket类的头文件开始处增加如下代码:hatClientDlg;//主对话框类(6)给ChatSocket类重载一个构造函数,hatSocket::hatClientDlg*pDlg){ m_pDlg=pDlg;}并且在ChatSocket类的CPP文件开始处增加如下语句:#include""(7)通过ClassWizard响应类的ChatSocket的OnReceive函数,表示可以接收数据了,其代码如下://hatSocket::OnReceive(intnErrorCode){ CSocket::OnReceive(nErrorCode); if(m_pDlg){ PlaySound("F:\",NULL,SND_ASYNC|SND_NODEFAULT); m_pDlg->ProcessPendingRead(); } }(8)在主对话框ChatClientDlg的头文件中定义ChatSocket指针类型的私有成员变量,hatSocket*m_pSocket;hatClientDlg类的头文件开始处增加如下代码:hatSocket;//hatSocket(9)hatClientDlg增加处理接收数据的共有成员函数ProcessPendingRead,其定义如下:hatClientDlg::ProcessPendingRead()//处理接收的数据{ //定义缓冲区 charbuffer[BUFFER_SIZE]; //接收数据 intnReceived=m_pSocket->Receive(buffer,BUFFER_SIZE,0); buffer[nReceived]=0; //将数据在列表框中显示出来 CStringstr; ("%s",buffer); (str);}(10)hatClientDlg增加发送数据的私有成员函数SendMsg://hatClientDlg::SendMsg(CStringstrMsg){ CStringstr; ("%s:%s",m_strClientName,strMsg); m_pSocket->Send((0
MFC聊天软件课程设计 来自淘豆网m.daumloan.com转载请标明出处.