网站大量收购独家精品文档,联系QQ:2885784924

网络聊天程序的设计和实现报告.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计实践设计报告课题名称:网络聊天程序的设计和实现学生姓名:班级:班内序号: 1 7 学号:日期: 2014.5.25课题概述1.1课题目标和主要内容主要内容和目标:(1)按实验步骤使用VC++设计出程序,在此的基础上用VC++或其他工具设计出一个能实现两个人及以上人次聊天的网络程序。(2)熟悉VisualC++的基本操作;掌握最基本的Client/Server(客户机/服务器)模式的网络编程技术,并在此基础上实现更为复杂的网络编程;基本了解基于对话框的windows应用程序的编写过程;对于Windows Socket编程建立初步概念。使用的开发平台:VC2013采用的主要工具:MFC应用程序1.2系统的主要功能功能表:1.建立服务器:程序运行后,可以输入IP地址和端口号后建立服务器,用于监听信息。2.实现客户端功能:程序运行后,可以输入IP地址和端口号,连入服务器,进入聊天室聊天。3.聊天功能:进入聊天室的客户可以给自己取昵称,然后进行多人聊天。界面可以输入聊天内容、昵称,可以显示聊天信息。系统设计2.1 系统总体框架 系统框架图:系统在输入IP和端口之后,可以建立服务器。再打开一个程序作为客户端,输入IP和端口,连接进入服务器聊天室可以进行多人聊天。 2.2 系统详细设计2.2.1 模块划分图及描述服务器监听模块:添加一个基于CSocket的CserverSocket类,用于监听套接字。其中CSocket是CAsyncSocket类的派生类,它们都是从CObject类继承下来的。CSocket类是更高层次的网络接口抽象。在服务器端,需要先用指定端口创建套接字,然后调用Listen()函数对制定连接端口进行监听,再创建一个空的CSocket对象。收到请求后,调用Accept()函数对客户端的连接请求进行接收。具体过程中,需要先添加成员变量和初始化函数声明。然后需要重载OnAccept函数。通信类模块该部分主要用于创建客户端程序以及数据的传输,其实现方式原理如下:客户端程序:首先调用系统的Create()函数,用缺省的端口创建套接字;然后需要使用函数Connect()连接指定地址的服务器。数据传输:该部分主要实现信息的传输、接受和处理。首先创建与CSocket类的对象相连接的CSocketFile类对象,再创建与CSocketFile类的对象相连接的CArchive类对象,用于储存将要发送的数据,再创建与CSocketFile类的对象相连接的CArchive类对象,用于存储接收数据,最后只需要发送和接收数据。具体实现方式为:1.添加用于发送、接收和存储的成员变量以及初始化函数声明。2.添加用于发送消息的SendMessage()函数,添加关闭套接字的函数CloseSocket()。3.添加函数static int GetIpAddress()函数获取本地IP地址。4.重载函数OnClose(),OnReceive(),分别用于服务器处理关闭套接字以及接收数据。信息模块:为项目添加基于CObject类的CMessg类,主要用于保存数据。核心包括定义CString类型的变量m_strText,另外需要修改构造函数和Serialize函数。窗口界面模块:首先创建一个基于对话框的项目,再设计对话框:添加一个ListBox控件显示所有聊天内容,并为其关联Clistbox类型的成员变量;添加一个EditBox控件输入发送聊天信息,并为其关联CString类型成员变量;添加一个IP控件输入服务器地址,并为其关联IP控件类型成员变量;添加一个EditBox类型控件输入服务器端口,并为其关联UNIT类型的成员变量;添加一个EditBox类型控件输入用户昵称,并为其关联一个CString类型成员变量;对吼添加三个按钮分别表示“发送消息”、“建立服务”和“连接服务器”,设置好各自的ID。在对窗口的处理中,需要实现以下几点:1.为对话框类中添加实现处理连接和处理断开连接的函数ProcessAccert()和CloseSessionSocket().2.实现对相关变量的初始化;3.对三个按钮建立相关的消息函数,包括建立服务,连接和发送消息。2.2.2类关系图及描述本程序CAboutDlg类并没有太大变化,主要对其他类进行分析:CClientSocket类成员表:名称属性说明CClientSocket::~CClientSocket成员函数析构函数CClientSocket::CClientSocket成员函数构造函数CClientSocket::CloseSocket成员函数关闭套接字CClientSocket::GetIpAddress成员函数获取本地IPCClientSocket::Init成员函数初始

文档评论(0)

wuailuo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档