更新 README.md
This commit is contained in:
@@ -1,3 +1,72 @@
|
||||
# python-chat-box
|
||||
|
||||
基于Python开发的轻量级局域网聊天工具,支持多人实时通信
|
||||
Python简易局域网聊天工具
|
||||
|
||||
项目介绍
|
||||
|
||||
本工具是一款基于Python开发的轻量级局域网聊天应用,支持多人实时通信、房间管理及权限控制,无需额外服务器,仅依赖局域网环境即可实现快速部署与使用,适用于小型团队协作、内网交流等场景。
|
||||
|
||||
核心功能
|
||||
|
||||
1. 房间管理:创建专属房间(支持密码锁定)、手动输入地址加入、自动搜索局域网房间
|
||||
2. 实时通信:多人消息收发、@成员提醒、@全体通知功能
|
||||
3. 权限控制:房主专属踢人、单独禁言/解禁、全体禁言/解禁、房间锁管理
|
||||
4. 个性化设置:支持更换聊天文字颜色、清屏操作
|
||||
5. 状态反馈:在线用户统计、禁言状态显示、房间连接状态提示
|
||||
|
||||
技术栈
|
||||
|
||||
- 开发语言:Python 3.6+
|
||||
- 核心技术:TCP协议(用户通信)、UDP广播(房间发现)、多线程并发(消息收发分离)
|
||||
- 依赖库:仅使用Python标准库(socket、threading、json、os、sys、time),无第三方依赖
|
||||
|
||||
前置依赖
|
||||
|
||||
1. 运行环境:安装Python 3.6及以上版本(推荐3.8+)
|
||||
2. 网络环境:所有用户需处于同一局域网(支持WiFi、有线局域网)
|
||||
3. 权限要求:运行脚本时需允许网络访问(防火墙放行Python进程)
|
||||
|
||||
安装与部署
|
||||
|
||||
1. 环境验证:打开终端/命令提示符,输入 python --version 确认Python版本符合要求
|
||||
2. 脚本获取:将聊天工具脚本(.py文件)保存至本地任意目录
|
||||
3. 启动运行:
|
||||
- Windows:在脚本目录按住Shift+右键,选择“在此处打开命令窗口”,输入 python 脚本文件名.py
|
||||
- Linux/Mac:打开终端,切换至脚本目录,输入 python3 脚本文件名.py
|
||||
|
||||
使用说明
|
||||
|
||||
1. 主菜单操作
|
||||
|
||||
1. - 创建房间:设置端口号(默认端口为8888)、创建后自动成为房主
|
||||
2. - 加入房间:手动输入目标房间IP和端口,若房间加锁需输入正确密码
|
||||
3. - 查找房间:自动扫描局域网内开放房间,选择序号即可加入
|
||||
4. - 退出脚本:关闭工具,终止所有连接
|
||||
|
||||
2. 聊天界面指令
|
||||
|
||||
- 基础指令:/清屏(清空终端显示)、/退出房间(返回主菜单)、/退出脚本(关闭工具)、/更换聊天颜色(选择文字颜色)
|
||||
- 房主专属指令:/房主菜单(打开权限管理界面)、/踢人 用户名(移出指定用户)、/禁言 用户名/全体(单独禁言或全体禁言)、/解禁 用户名/全体(解除禁言)
|
||||
|
||||
3. 房主菜单操作
|
||||
|
||||
1. - 踢人功能:输入用户名移出房间
|
||||
2. - 禁言功能:选择单独用户或全体进行禁言
|
||||
3. - 解禁功能:解除指定用户或全体禁言状态
|
||||
4. - 房间锁管理:开启/关闭房间锁,设置/修改房间密码
|
||||
5. - 查看在线用户:显示所有成员、禁言状态及在线人数
|
||||
6. - 解散房间:强制关闭房间,所有成员退出
|
||||
7. - 关闭菜单:返回聊天界面
|
||||
|
||||
更新日志
|
||||
|
||||
- 更新时间:2025年12月18日
|
||||
- 更新内容:
|
||||
1. 优化代码质量
|
||||
2. 规范代码
|
||||
3. 修复指令无效问题
|
||||
|
||||
注意事项
|
||||
|
||||
1. 端口号需在1024-65535之间选择,避免使用已被占用的端口
|
||||
2. 房间密码需为4-8位字符,不含空格,建议告知信任用户避免泄露
|
||||
3. 多人通信时请避免发送过大字符内容(单条消息建议不超过1024字符)
|
||||
4. 若出现连接失败,检查是否处于同一局域网、IP/端口输入是否正确、防火墙是否拦截
|
||||
Reference in New Issue
Block a user