# go_socket **Repository Path**: Lanse12/go_socket ## Basic Information - **Project Name**: go_socket - **Description**: 基于GoLang语言开发的socket工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-05-30 - **Last Updated**: 2025-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Go语言WebSocket即时通讯系统 ## 项目目标 构建支持单聊、群聊的企业级IM系统,需满足高并发、低延迟要求 ## 功能需求 1. 通信层 - 使用gorilla/websocket实现全双工通信 - 支持用户上下线通知与心跳检测 - 消息序列化采用JSON+Protobuf双模式 2. 消息类型 - 文本消息含@提醒功能 - 图片/视频文件传输(支持Base64与分片上传) - 自定义表情包(SQLite存储表情映射表) 3. 存储方案 - MySQL分表存储聊天记录(按月份分表) - Redis缓存在线用户状态(设置TTL) - MinIO对象存储媒体文件(实现CDN加速) 4. 群组管理 - 群成员权限分级(管理员/普通成员) - 群公告与群名片功能 - 群聊消息撤回与编辑(设置时间窗) ## 性能指标 - 支持10万级并发连接 - 消息延迟<200ms(局域网环境) - 单消息存储耗时<5ms ## 代码质量要求 - 单元测试覆盖率>85% - 使用golint进行代码规范检查 - 关键路径添加pprof性能分析 ## 扩展功能建议 - WebRTC音视频通话模块 - 消息离线推送(接入APNs/Firebase) - 多端同步(PC/Mobile/Web会话保持) 请提供完整代码实现,包含以下内容: 1. WebSocket连接管理器的并发安全实现 2. 消息编解码层的具体设计 3. MySQL分表策略的实现代码 4. 性能压测方案与优化记录 5. 安全防护措施的实施方案 ## 国内镜像 goproxy.cn(七牛云) go env -w GOPROXY=https://goproxy.cn,direct