没有合适的资源?快使用搜索试试~ 我知道了~
首页用VC++设计简单的聊天室程序完整课程设计
用VC++设计简单的聊天室程序完整课程设计

(1)通过实际软件项目的分析、设计、编码、测试等工作,掌握用软件工程的方法来开发和维护软件。 (2)按要求编写课程设计报告书,能正确编写分析、设计、编码、测试等技术文档和用户使用手册。 (3)进行系统的联合调试,编写系统使用说明。 (4)完成系统的文档、设计说明工作
资源详情
资源评论
资源推荐

课程设计任务书
学院 专业
课程名称 VC++课程设计 时间
学生姓名 指导老师
题 目 用 VC++设计简单的聊天室程序
主要内容:
该系统要求完成聊天室的全过程,包括客户端和服务器两大部分的
编程及其连接。服务器端聊天程序负责接收和发送来自客户端的聊天信
息,客户端聊天程序负责建立和维护与服务器端的连接,想服务器发送
本客户的聊天内容。系统采用 VISUAL C++语言程序设计编程实现。
要求:
(1)通过实际软件项目的分析、设计、编码、测试等工作,掌握用
软件工程的方法来开发和维护软件。
(2)按要求编写课程设计报告书,能正确编写分析、设计、编
码、测试等技术文档和用户使用手册。
(3)进行系统的联合调试,编写系统使用说明。
(4)完成系统的文档、设计说明工作
应当提交的文件:
(1) 课程设计学年论文。
(2) 课程设计附件(主要是源程序)。

用 VC++设计简单的聊天室程序
学生姓名: 指导老师:
摘 要 计算机网络技术发展至今已经大大超越了人们当初的预想,无论是人们日常的
工作还是学习,我们都越来越多的依靠到互联网。各种实时性的聊天娱乐软件也同时
诞生,而且为我们的即时通讯带来了众多的方便,比如说大家所熟知的腾讯 QQ、微软
的 MSN、移动的 Fetion 等,都是做的比较成功的实时聊天工具。随着网络的日益普及,
各种聊天工具也层出不穷,但当我们学习了《TCP/IP 协议与网络编程》这门课程之后,
我们便会觉得,其实要实现简单的网络通讯其实并不难。接下来的课程设计就是针对
一个简单的网络聊天程序,利用 MFC 为开发工具,实现基本的通讯功能。在课程设计
中,系统开发平台为 Windows 2000,程序设计设计语言采用 Visual C++,数据库采用
MS SQL 2000,程序运行平台为 Windows 98/2000/XP。
关键词 聊天软件;网络通讯;MFC;课程设计;Visual C++

1 引 言
1.1 课题背景及意义
当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础设施”。在
互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室
程序可以说是网上最简单的多点通信程序。一个简单的聊天室, 从程序员的观点来看就
是在多个 I/O 端点之间实现多对多的通信。基于 SOCKET 的局域网通信是一种灵活的、
易于实现的、低成本的方法。它可以运行在各种使用 TCP/IP 协议作为通讯协议的网络
上。而在 SOCKET API 的帮助下,开发基于 SOCKET 的局域网通信软件也是易于实现
的。
1.2 实验平台介绍
Visual C++( 简 称 VC) 是 Microsoft 公 司 推 出 的 目 前 使 用 极 为 广 泛 的 基 于
Windows 平台的 C++可视化开发环境。VC 基于 C,C++语言,主要由是 MFC 组成
,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大
,灵活,执行效率高,几乎可说 VC 在 Windows 平台无所不能。VC 主要是针对
Windows 系统,适合一些系统级 的开发,可以方便实现一些底层 的调用。在 VC 里
边嵌入汇编语言很简单。当对系统性能要求很高的时候,可用 VC 开发。VC 在多线程
、网络通信、分布应用方面,有着不可比拟的优势。
1.3 可行性分析
本课程设计主要解决在客户端于客户端的信息交换和客户端于服务器的信息交换
及服务器的信息处理上的管理的课程设计。
此程序主要分为两部分:服务器端和客户端。服务器端用于提供一个网络端口,
等待客户端发出请求,登录到此服务端,然后进行网络通讯和消息的转发;客户端可
通过服务器端的 IP 地址发送连接请求,然后登陆聊天室。在服务器端的成员列表栏中
会显示在线的所有人名单,有人退出聊天室,成员列表会自动除名。服务器端同时也
提供了成员之间的私聊功能,此时服务器端作为一个转发站,进行消息的转发。整个
程序的主体使用了 CSocket 类的方法,实现了网络通讯聊天。
先启动服务器端聊天程序,这是聊天服务器需要指定一个端口号,客户端则根据这个

端口号以及服务器的网络地址与服务器进行通信。在这里,把端口号成为“聊天频道” 。
在后面的程序代码分析中将看到,端口号并不等同于聊天频道,而是在聊天频道
上增加一个固定的偏移值,使得这个聊天频道不会和系统保留的端口发生冲突。
服务器启动后将在这个指定的端口号中等待客户的连接。对于公共聊天室,服务
器对客户的数目不做任何限制。而对于私人聊天室,每个聊天频道则只能允许两个客
户互相连接,使得一方发送的信息只能到达对方的主机中。这里的服务器提供的是公
共聊天服务。
通过分析发现,该程序完全可以通过 Visual C++中 MFC 完成。

2 需求分析
2.1 设计目的
综合运用本课程及计算机网络的相关知识设计并实现一个网络应用程序,以
Visual C++作为开发平台,通过实践复习巩固课堂所学的理论知识,提高对所学知识
的综合应用能力。
2.2 设计要求
采用客户/服务器模式,分为客户端程序和服务器端程序。服务器采用 WINSOCK
I/O 模型中的任一种,支持多个客户同时在线聊天。客户端程序和服务器程序通过网络
交换聊天字符串内容,服务器窗口的列表框中显示当前在线用户,支持客户端之间的
私聊(可以通过服务器中转,或考虑 UDP 打洞直接建立端端连接)。
课程设计要求设计并编程完成两个方面的内容:首先建立一个使用 TCP 协议的聊
天室服务器,这个服务器可以同时支持多个用户的在线聊天;其次设计一个可以和服
务器通信的聊天室客户端。
2.3 功能要求
支持多个客户端的连接,在服务器和多个客户端之间进行数据传输;
接收客户端发送的消息,并显示在一个列表框中;
在用户连接上后有提示,显示出连接的用户名字;
发送信息时可以显示聊天的所有记录;
2.4 系统主要功能和主要功能描述:
服务器端聊天程序必须能够做 3 件事情:
(1) 服务器聊天程序要在待定的端口上等待来自聊天客户的连接请求,并且需要维
剩余33页未读,继续阅读













Nicole_gan
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论2