39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
![]() |
# 简易聊天工具项目
|
||
|
|
||
|
## 项目结构
|
||
|
|
||
|
```
|
||
|
chat_project/
|
||
|
├── server/
|
||
|
│ ├── main.go # 服务器入口
|
||
|
│ ├── auth.go # 用户认证模块
|
||
|
│ ├── message.go # 消息处理模块
|
||
|
│ ├── file_transfer.go # 文件传输模块
|
||
|
│ ├── db.go # 数据库操作模块
|
||
|
├── client/
|
||
|
│ ├── main.go # 客户端入口
|
||
|
│ ├── auth.go # 客户端认证模块
|
||
|
│ ├── message.go # 客户端消息处理
|
||
|
│ ├── file_transfer.go # 客户端文件传输
|
||
|
├── go.mod
|
||
|
└── go.sum
|
||
|
```
|
||
|
|
||
|
## 技术选型
|
||
|
|
||
|
- Go 1.24
|
||
|
- TCP协议自定义消息格式
|
||
|
- SQLite数据库用于聊天记录持久化
|
||
|
- bcrypt加密用于密码存储
|
||
|
- 命令行客户端实现
|
||
|
|
||
|
## 开发步骤
|
||
|
|
||
|
1. 搭建TCP服务器和客户端基础连接框架
|
||
|
2. 实现用户身份认证
|
||
|
3. 实现聊天消息传输
|
||
|
4. 集成聊天记录持久化
|
||
|
5. 实现文件和图片传输
|
||
|
6. 完善客户端命令行交互
|
||
|
7. 测试与优化
|
||
|
8. 编写文档与交付
|