# 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底部显示图标 -