1、 软件课程设计报告软件课程设计报告 电信电信 学院学院 0909 级级 电子电子 专业专业 题目题目 简易网络聊天室简易网络聊天室 学生学生 学号学号 指导教师指导教师 2012年 4月 26日 简易网络聊天系统简易网络聊天系统 摘要摘要:本设计在 VC+6.0 平台下利用 MFC 对话框工程实现了简易聊天室的设计,完成了 简易聊天的各项基本功能,界面友好。要求能网络侦听,接受多个客户端的连接,一个聊天 服务器和很多客户端进行通信, 接受客户端发送的信息, 能分析信息的含义并在服务器停止 服务时, 停止端口侦听, 将停止服务器信息发给所有客户端。 在实际编程中运用了 C+语言, 并通过学习 s
2、ocket 编程实现了局域网内各节点通信。 关键字:关键字:MFC 聊天室 VC+编程 CSocket 类 1.1. 引言引言 当今世界正处于信息时代,在互联网相当普及的今天,大众已经对互联网形 成了相当的依赖性,局域网内多节点通信已经是非常普遍的简单需求。聊天室是 适合于陌生人之间进行较为主观、感兴化的讨论。所以有大部分的人会进入聊天 室聊天,它会给人一个完全自由的聊天世界。 基于 SOCKET 的局域网通信是一种灵活的、易于实现的、低成本的方法。它 可以运行在各种使用 TCP/IP 协议作为通讯协议的网络上。而在 SOCKET API 的帮 助下,开发基于 SOCKET 的局域网通信软件也
3、是易于实现的。 2.2. 设计依据及框图设计依据及框图 2.1 设计平台设计平台 本设计主要在 VC+6.0 平台下,基于 MFC 的界面编程主要是面向对象的方法来调 用 Windows API, 提供了文档框架视图结构和活动文档这样的便于自定义的应用程序框架。 同时,在 Visual C+内部也内建了很多对 MFC 的例如类向导这样的支持以减少软件开发的 时间 。 2.2 设计思想设计思想 本设计的总体思想是在基于 MFC的界面编程基础上加入 windows socket 类实现局域网 通信。 本设计主要分为服务器端和客户端两部分组成。 服务器端监听各个客户端节点发送的 信息并把信息发送到相
4、应的客户端。客户端实现发送和接受自己节点的信息。 2.3 设计框图设计框图 Server端Client端 创建CClientSocket 对象,在某个端口 提供监听服务 等待来自Client 端的服务请求 接受Client端的请 求,用返回的 CClientSocket建立 连接 向用 CClientSocket连 接建立的流中读 写数据 关闭CClientSocket, 结束与当前Client的 通信,等待其他请求 关闭CClientSocket对 象,结束监听服务 创建CChatSocket对 象,向Server的监听 端口发出请求 向用CChatSocket 连接建立的流中读 写数据 关闭 CChatSocket,结 束与当前Server端 的通信 建立连接 拆除链路 数据通路 图 1:连接过程流程 图一是总体的连接过程流图,服务器端创建 socket 对象后启动监听,等待客户端与服 务器连接,客户端发