VC++聊天室说明.docx
- 文档编号:30778034
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:15
- 大小:1.26MB
VC++聊天室说明.docx
《VC++聊天室说明.docx》由会员分享,可在线阅读,更多相关《VC++聊天室说明.docx(15页珍藏版)》请在冰豆网上搜索。
VC++聊天室说明
这个程序我是参照了网络上某人的写的,改写了很多,加了很多小功能,很感谢那位最初的作者,不知道是谁,我也把我自己的传上来和大家分享,有些地方做的很不好,但是能够运行,反正我也是用来交大作业的。
功能需求
1.用户注册账号
2.用户注册时可以验证账号是否可用
3.用户需要有效用户名和密码才能登陆服务器
4.多人登陆到服务器同时聊天
5.用户进入退出聊天室时其他的用户都得到通知
6.服务器实时更新在线用户名单
7.用户之间可以私聊
8.支持抖动窗口的发送
9.服务器可以踢出某个用户
10.服务器可以关闭某个用户的计算机
本程序采用面向连接的TCP协议,服务器采用多线程,由于客户端可能比较多,服务器资源有限,故使用完成端口模型,这样能够很好的处理大量的客户端,客户端采用CSocket。
程序中消息的传递采用XML格式,这样能够节省网络资源,避免不必要的消息传送。
●服务器发送给用户的消息
当有新的用户到来时,服务器将该用户的信息发送给所有用户
当有用户退出时,系统把退出用户的信息转发给其余的所有用户
当系统把用户踢出聊天室时,发送消息给用户
登录失败时,服务器发送消息给用户
当用户登录成功时,服务器发送其他在线用户信息给用户
...
当收到用户发送的消息时,根据是私聊还是给所有人进行转发
当收到用户发送的抖动窗口消息时,根据是发送给所有人还是某个用户进行转发
当服务器向用户发送关闭计算机指令的消息
当服务器关闭时,发送给所有用户的消息
其他消息,当用户进行注册时服务器发送给用户,次消息没有采用XML格式
当用户检测用户名是否可用:
可用”Available”不可用“Invalid”
当用户注册是否成功:
成功“OK”失败“Failed”
●客户端发送给服务器的消息
发送注册消息
发送检测用户名是否有效的消息
发送文本消息
接受者ID=0表示发送给所有用户
发送用户登录消息
发送窗口抖动消息
程序流程图
客户端
服务器
详细设计
1)开发坏境:
●Windows7Ultimate
●VisualStudio2010Ultimate
●SQLServer2008Express
●MicrosoftVisio2010
●MicrosoftWord2010
2)数据库设计:
数据库名:
user
数据库表:
user_info
表的设计:
数据库的访问:
用户名:
sa
密码:
sa
3)代码设计:
去工程文档看就行了
使用方法
●客户端
启动客户端
用户注册窗口
测试服务器是否可以连接(127.0.0.1)
测试用户名是否可用
用户输入两次密码不匹配
用户注册(不能有一项为空)
用户登录密码错误
选择NO则程序退出,选择Yes程序将重新进入登录界面,密码正确登录成功
多客户端同时在线(其他客户登录会有声音提示)
右击在线用户,可以弹出菜单,现在还没有实现
收缩在线用户显示
收缩窗口
发送消息给所有用户
发送私有消息
当有消息到达时,客户端会有提示音,并且窗口图标会闪烁
最小化到托盘,双击可还原,右击弹出关闭菜单
用户退出(有声音提示有用户退出)
关于对户框
●服务器
启动服务器
右击在线用户弹出菜单
关闭用户计算机和删除用户。
关闭计算机慎用,这将直接关闭用户的计算机,删除用户将把用户踢出聊天室(删除HelloWorld)
删除前客户端的效果
删除后的效果(删除的用户不能再发送消息,其他用户收到此用户退出的消息,更新在线用户)
当服务器退出时所有用户收到消息
参考文献
[1]任泰明.TCP/IP协议与网络编程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 聊天室 说明