# ChatRoom **Repository Path**: zf-code-system/chat-room ## Basic Information - **Project Name**: ChatRoom - **Description**: 用CAsyncSocket类实现的聊天室程序,基于VS2015标准MFC开发,采用C/S模型,分为客户端和服务端程序。支持一对一发送信息,公聊信息,能够显示并查看历史聊天信息,同时显示聊天的日期和时间。当信息较多时,能够支持翻页显示。客户端支持聊天信息导出、保存到文本文件中。 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-17 - **Last Updated**: 2025-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: MFC ## README # 简介 这是一个运用CAsyncSocket类设计的聊天室程序,使用Visual Studio 2015开发工具,编程语言使用C++创建的MFC应用程序。本实例是一个聊天室程序,采用C/S模型,分为客户端程序和服务端程序。 # 实现功能 ## 服务器端 1. 服务器开启时默认绑定本地IP地址和端口号8888,可以主动断开连接。能够显示连接状态。 2. 能够解析聊天信息,若是新用户,获取并显示用户昵称、ip地址、端口号等信息,并显示“欢迎新人加入”的信息。若是私聊信息,则一对一发送信息。若是公聊信息,则向所有用户转发信息。 ## 客户端 1. 主动发出连接请求与服务器建立连接,能够向服务器发送信息,能够接收并解析服务器发来一切信息,如新用户的加入、旧用户的退出等。 2. 能够显示并查看历史聊天信息,同时显示聊天的日期和时间。 3. 当信息较多时,能够滚屏显示。 4. 能够将聊天信息导出、保存到文本文件中。 ## 功能截图 ### 客户端连接服务器 ![](https://gitee.com/zf-code-system/chat-room/raw/master/images/%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%9E%E6%8E%A5%E6%9C%8D%E5%8A%A1%E5%99%A8.png) ### 发送公聊信息 ![](https://gitee.com/zf-code-system/chat-room/raw/master/images/%E5%8F%91%E9%80%81%E5%85%AC%E8%81%8A%E4%BF%A1%E6%81%AF.png) ### 发送私聊信息 ![](https://gitee.com/zf-code-system/chat-room/raw/master/images/%E5%8F%91%E9%80%81%E7%A7%81%E8%81%8A%E4%BF%A1%E6%81%AF.png) # 项目结构 ## 服务端项目结构 ```plain ChatRoomServer/ ├── Source Files/ │ ├── ChatRoomServer.cpp # 应用程序主类 (CApp类) │ ├── ChatRoomServerDlg.cpp # 主对话框类实现 │ └── stdafx.cpp # 预编译头实现 ├── Header Files/ │ ├── ChatRoomServer.h # 应用程序主类头文件 │ ├── ChatRoomServerDlg.h # 主对话框类头文件 │ ├── Resource.h # 资源ID定义 │ ├── stdafx.h # 预编译头 │ └── targetver.h # 目标版本 ├── Resource Files/ │ └── ChatRoomServer.rc # 资源脚本文件 └── res/ ├── ChatRoomServer.ico # 应用程序图标 └── ChatRoomServer.rc2 # 资源文件 ``` ## 客户端项目结构 ```plain ChatRoomClient/ ├── Source Files/ │ ├── ChatRoomClient.cpp # 应用程序主类 │ ├── ChatRoomClientDlg.cpp # 主对话框类实现 │ └── stdafx.cpp # 预编译头实现 ├── Header Files/ │ ├── ChatRoomClient.h # 应用程序主类头文件 │ ├── ChatRoomClientDlg.h # 主对话框类头文件 │ ├── Resource.h # 资源ID定义 │ ├── stdafx.h # 预编译头 │ └── targetver.h # 目标版本 ├── Resource Files/ │ └── ChatRoomClient.rc # 资源脚本文件 └── res/ ├── ChatRoomClient.ico # 应用程序图标 └── ChatRoomClient.rc2 # 资源文件 ``` # UML类图 ![](https://gitee.com/zf-code-system/chat-room/raw/master/images/UML%E7%B1%BB%E5%9B%BE.png)