c++课程设计网络聊天室

上传人:hs****ma 文档编号:559237497 上传时间:2022-10-01 格式:DOCX 页数:9 大小:13.33KB
返回 下载 相关 举报
c++课程设计网络聊天室_第1页
第1页 / 共9页
c++课程设计网络聊天室_第2页
第2页 / 共9页
c++课程设计网络聊天室_第3页
第3页 / 共9页
c++课程设计网络聊天室_第4页
第4页 / 共9页
c++课程设计网络聊天室_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《c++课程设计网络聊天室》由会员分享,可在线阅读,更多相关《c++课程设计网络聊天室(9页珍藏版)》请在金锄头文库上搜索。

1、C+课程设计:网络聊天室C+课程设计:网络聊天室 课程设计报告课程名称:面向对象程序设计 C+设计题目:网络聊天室专业:计算机科学与技术姓名:学号:指导教师:李晓虹2016年1月5日目录1.系统需求分析 3 2. 总体设计3 2.1.服务器端功能3 2.2.客户端功能3 3.详细设 计4 3.1.服务端实现4 3.1.1.服务端布局5 3.2.客户端实现 7 3.2.1.客户端布局8 4.系统调试115.结果分析14 6.总结 14 1.系统需求分析 作为当下网络时代下的一员,网络已经 无孔不入的融入了我们的生活,世界虽大,但网络将五湖四 海的人们联系在一起,作为最直接的交流工具QQ、微信等是

2、当下的主流,从此可以看由,网络聊天广受人们的喜爱。并且随着Internet的普及和宽带技术的成熟,越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、 在线观看电影等服务,享受网络带来的便利和办公的高效, 与此同时一个新型的 Web应用程序为网民之间提供了一个 实时通信的功能和场所,这就是聊天室。网络聊天室也同样的适用于网络会议等正式场合,网络聊天长久伴随我们左右,这也就是开发网络聊天室的意义所 在。本聊天室的需求比较简单,要求首先打开服务器端的端口,获取网络的IP地址,等待客户端用户的连接; 而客户端 通过设置与服务器端相同的IP地址和端口,从而进入系统,然后开始聊天之旅。2.总体

3、设计 本课程设计主要是开发一个简单的网络聊 天室软件,系统米用 C+语言完成,使用 VC6.0开发工具在 window7平台上开发;本系统分为两个部分,分别为服务器 端和客户端,其主要功能介绍如下:2.1. 服务器端功能l通过对Socket进行初始化,来简单创 建服务器l通过定义变量来保存本机的 IP地址,方便与客 户端输入的IP地址进行比较,判断用户是否登入成功。l通过一个文本框控件,来接收用户发送的信息。l服务器端在初始化时首先需要为系统设置一个专用端 口,以方便和客户端进行通信。2.2. 客户端功能 客户端操作主要分2个步骤,在使用客 户端系统时,用户首先需要设置要登录的 IP地址,此处

4、所填 写的IP地址需要和服务器端的本机 IP地址一致,平且输入 正确的端口,方能登录成功。当登录成功之后,用户可以在输入文本框中输入要发送的 信息,点击发送按钮来实现发送,系统将会把信息发送到与其通信的服务器端界面中,以这样的原理俩实现客户端和服务器端两者之间的通信功能。3,详细设计3.1.服务端实现 本系统采用VC6.0为开发 工具,在实际开发中,首先创建一个工程项目,然后在相应 位置添加一个窗体,来展示信息。主要的界面布局情况如下图:3.1.1.服务端布局 服务器端的开发主要分两个阶段,首先 开发端口设置功能,该功能是供管理员在打开服务器端时, 设置一个特殊的网络端口,方便后面供客户端来使

5、用;其次 是主界面的开发,该步骤中中,主要是使用了一个文本框控 件来存放接收客户端所传送的信息。其主要开发代码如下:#include “stdafx.h #include “ChatSvr.h #include InitDIg.h #i fdef _DEBUG #define new DEBUG_NEW#undef THIS_FILE static char THIS_FILE = FILE;#endif CInitDIg:CInitDIg(CWnd* pParent /*=NULL*/)CDiaIog(CInitDIg:IDD,pParent) /AFX_DATA_INIT(CInitDIg

6、) m_nPort =0;/AFX_DATA_INITvoidCInitDIg:DoDataExchange(CDataExchange*pDX)CDiaIog二DoDataExchange(pDX);AFX_DATA_MAP(CInitDIg) DDX_Text(pDX, IDC_EDIT1,m_nPort);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CInitDlg,CDialog)END_MESSAGE_MAP() 核心代码如下:#include “stdafx.h #include “ChatSvr.h #include “ChatSvrDlg.h #ifdef _

7、DEBUG #define new DEBUG_NEW#undef THIS_FILE static char THIS_FILE口 = FILE; #endif BEGIN_MESSAGE_MAP(CChatSvrApp, CWinApp) ON_COMMAND(ID_HELP,CWinApp:OnHelp)END_MESSAGE_MAP() CChatSvrApp:CChatSvrApp() CChatSvrApp theApp; BOOL CChatSvrApp:InitInstance() if (!AfxSocketInit() AfxMessageBox(IDP_SOCKETS_I

8、NIT_FAILED); return FALSE; AfxEnableControlContainer(); #ifdef _AFXDLL Enable3dControls(); #else Enable3dControlsStatic(); #endif CChatSvrDlg dlg; m_pMainWnd = int nResponse = dlg.DoModal(); if (nResponse = IDOK) else if (nResponse =IDCANCEL) return FALSE; 3.2. 客户端实现 客户端 主要是用户通过设置端口和IP地址来与服务器端想链接,从而

9、实现系统之间的通信功能,当链接成功之后,用户进入到 系统主要界面,用户可以在输入区域来输入信息,通过点击 发送来发送信息到服务器端,从而实现两者之间的通信功 能,其主要界面如下:3.2.1.客户端布局 客户端的功能实现,主要有验证输入信 息是否正确,和通过验证之后且建立了通信之后,在实现发 送信息功能,将信息发送到服务器端,实现两者之间的信息 传送,从而达到客户端和服务器之间的聊天效果,其主要代 码如下:(输入端口和IP 信息窗 口代码) #include “stdafx.h “ #include “ ChatClient.h “ #include “SetupDlg.h #ifdef _DE

10、BUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE口 = FILE; #endif CSetupDlg:CSetupDlg(CWnd* pParent /*=NULL*/) CDialog(CSetupDlg:IDD,pParent) AFX_DATA_INIT(CSetupDlg)m_strName = _T( “);m_strServer = _T( “m_nPort = 0; /AFX_DATA_INIT void CSetupDlg:DoDataExchange(CDataExchange* pDX) CDi

11、alog二DoDataExchange(pDX);/AFX_DATA_MAP(CSetupDlg)DDX_Text(pDX,IDC_NAME, m_strName); DDX_Text(pDX, IDC_SERVER, m_strServer); DDX_Text(pDX, IDC_PORT, m_nPort); /AFX_DATA_MAP BEGIN_MESSAGE_MAP(CSetupDlg, CDialog)AFX_MSG_MAP(CSetupDlg)/AFX_MSG_MAP END_MESSAGE_MAP() void CSetupDlg:OnOK() / TODO: Add extr

12、a validation hereCDialog:OnOK(); void CSetupDlg:OnCancel() / TODO: Add extra cleanup here CDialog二OnCancel(); (客户端主窗体窗 口 代码) #include “stdafx.h #include “ ChatClient.h #include “ ChatClientDlg.h #include “ ChatSocket.h “ #include “ SetupDlg.h “ #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE st

13、atic char THIS_FILE口 =FILE_; #endif class CAboutDlg : public CDialog public: CAboutDlg(); AFX_DATA(CAboutDlg)enum IDD =IDD_ABOUTBOX;/AFX_DATAAFX_VIRTUAL(CAboutDlg)protected: virtual voidDoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL / Implementation protected: AFX_MSG(CAboutDlg)v

14、irtual void OnOK();/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() :CDialog(CAboutDlg:IDD) /AFX_DATA_INIT(CAboutDlg) /AFX_DATA_INIT void CAboutDlg:DoDataExchange(CDataExchange* pDX) CDialog二DoDataExchange(pDX);AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAP BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)AFX_MSG_MAP(C

15、AboutDlg)AFX_MSG_MAPEND_MESSAGE_MAP()/CChatClientDlgCChatClientDlg二CChatClientDlg(CWnd* pParent /*=NULL*/): CDialog(CChatClientDlg:IDD,pParent) /AFX_DATA_INIT(CChatClientDlg) m_strMsg = _T( “); m_strClientName = _T( /;AFX_DATA_INITm_hIcon =AfxGetApp()-LoadIcon(IDR_MAINFRAME); voidCChatClientDlg二DoDataExchange(CDataExchange*pDX)CDialog二DoDataExchange(pDX);AFX_DATA_MAP(CChatClientDlg) DDX_Control(pDX, IDC_LIST_MSGS, m_ctrlMsgs); DDX_Text(pDX, IDC_MS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号