1、面向对象程序设计课程设计 设计说明书 网络聊天程序设计 起止日期:2012 年 5 月 27 日至 2012 年 6 月 1 日 学生姓名 班级 计 本 103 班 学号 10408100301 成绩 指 导 教 师 ( 签 字 ) 计算机与通信学院计算机与通信学院 2012 年 5 月 30 日 1 网络网络聊天程序设聊天程序设计计 一、一、 课题课题的介绍和课题的的介绍和课题的任务任务 课题介绍: 近年来随着 PC 的广泛应用和网络的不断发展, 目前网络技术已经成为了计算机 领域内的最热门的发展方向。 聊天室。在网络早期就开始盛行,不论是 BBS,IRC 都有类似网上聊天室的机 制。聊天室
2、适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友 环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了 书信往返的时间,这也是网上交友之所以如此热门的原因。 课题任务: 1、综合运用本课程及计算机网络的相关知识设计并实现一个网络应用程 序,以 Visual C+6.0 作为开发平台,通过实践复习巩固课堂所学的理论知识, 提高对所学知识的综合应用能力,进一步加强 winsock 编程技术。 2、采用客户/服务器模式,分为客户端程序和服务器程序。服务器采用 WINSOCK I/O 模型中的任一种,支持多个客户同时在线聊天。客户端程序和服务 器程序通过网络交换聊天字符串
3、内容,服务器窗口的列表框中显示当前在线用 户,支持服务器与客户端之间的私聊 二、设计二、设计的的要求要求 1、用 WINSOCK 实现简单的网络聊天; 2、在 MFC 开发平台上编写一个聊天系统; 3、得 server 和 client 之间可以相互通信; 4、多人能够发送信息至服务器,首先显示进入聊天室的成员名,然后显示对方 名字和聊天信息,可以并发执行。 5、服务器与单个客户端之间可以进行私聊 三、三、系统的分析和系统中类的系统的分析和系统中类的设计设计 在此主要介绍服务器端的构建(即本人所负责的部分) ,不是本人负责的部 分不过多介绍 建立连接过程流程图如下: 2 Server端Clie
4、nt端 创建CClientSocket 对象,在某个端口 提供监听服务 等待来自Client 端的服务请求 接受Client端的请 求,用返回的 CClientSocket建立 连接 向用 CClientSocket连 接建立的流中读 写数据 关闭CClientSocket, 结束与当前Client的 通信,等待其他请求 关闭CClientSocket对 象,结束监听服务 创建CChatSocket对 象,向Server的监听 端口发出请求 向用CChatSocket 连接建立的流中读 写数据 关闭 CChatSocket,结 束与当前Server端 的通信 建立连接 拆除链路 数据通路 程序个模块代码如下:程序个模块代码如下: 1.客户端 (1)通过 AppWizard 生成基于对话框的应用程序 ChatClient,在向导的第二 步选择 WindowsSockets 的支持,其余步骤均用默认值。 (2)增加一个登录服务器的对话框资源,其 ID 为 IDD_SETUP,然后通过 ClassWizard 生成对应的基于 CDialog 的类 CSetupD