# easy_chat
**Repository Path**: joyamon/easy_chat
## Basic Information
- **Project Name**: easy_chat
- **Description**: 一个使用Python实现的简单聊天系统,支持文字、图片、表情包,私聊和群聊功能。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-08-19
- **Last Updated**: 2025-09-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 简易聊天系统
一个使用Python实现的简单聊天系统,支持文字、图片、表情包,私聊和群聊功能。
## 功能特性
- ✅ 文字消息发送和接收
- ✅ 图片分享(支持PNG、JPG、GIF等格式)
- ✅ 表情包快速发送
- ✅ 多房间群聊
- ✅ 实时用户列表
- ✅ 图形化用户界面
- ✅ 消息时间戳
## 系统要求
- Python 3.7+
- tkinter(通常随Python安装)
- Pillow库(用于图片处理)
## 安装依赖
```
pip install -r requirements.txt
```
## 使用方法
### 1. 启动服务器
```
python chat_server.py
```
服务器将在 `localhost:12345` 启动,可自行修改。
### 2. 启动客户端
```
python chat_client.py
```
### 3. 连接和使用
1. 在客户端界面输入用户名
2. 选择要加入的房间(默认为"general"),可创建新房间
3. 点击"连接"按钮
4. 开始聊天!
## 界面说明
- **连接区域**:输入用户名、房间名和服务器地址
- **消息区域**:显示所有聊天消息、图片和系统通知
- **输入区域**:发送文字消息、选择图片、点击表情包
- **用户列表**:显示当前房间的在线用户
## 支持的消息类型
1. **文字消息**:在输入框输入文字,按回车或点击发送
2. **图片消息**:点击"图片"按钮选择图片文件
3. **表情包**:点击界面上的表情符号快速发送
## 技术实现方案
- **网络通信**:使用socket进行TCP通信
- **消息格式**:JSON格式传输
- **图片处理**:Base64编码传输,PIL库处理显示
- **多线程**:服务器端多线程处理多个客户端
- **GUI界面**:tkinter实现跨平台图形界面
## 架构说明
### 服务器端 (chat_server.py)
- 管理客户端连接
- 处理房间和用户管理
- 消息路由和广播
- 支持多种消息类型
### 客户端 (chat_client.py)
- 图形用户界面
- 消息发送和接收
- 图片显示和处理
- 实时用户列表更新
## 扩展功能
可以进一步添加的功能:
- 文件传输
- 消息历史记录
- 用户认证
- 消息加密
- 语音消息
- 更多表情包
## 注意事项
1. 服务器需要先启动,客户端才能连接
2. 图片文件大小建议不超过5MB
3. 支持同时多个客户端连接
4. 可以创建多个房间进行群聊
5. 断网重连需要手动重新连接
## 效果
## 迭代
- 2025-09-05: 修改应用图标和Windows底部显示图标
- 