注意;本项目使用go1.18进行开发;且使用到了go workspace进行内部依赖管理;以及go泛型简化业务;故需要的golang版本至少达到1.18
视频详解
go run main/main.go
以上为暂定的功能模块;后续会加入视频通话和远程控制模块。
注意由于本项目采用go1.18版本;使用的是go work来管理多个项目依赖;下面的所有文件夹都是一个单独的go mod项目。
├───chat_http 使用http相关服务的业务;如不需实时主动转发的; ├───chat_socket 使用websocket相关服务的业务;如需要实时主动转发的; ├───conf 整个项目的配置文件;包含数据库连接等; ├───logger 整个项目的logger配置 └───main 项目的运行main函数文件
以下是实时聊天系统的类图;目前只支持文字消息;也就是对应的TextMessage的转发;如果需要增加其他大型文件的转发;可以采取分块的方式。