开源项目之行 --IM 项目结构
·
开发IM不难,但是真的耗费时间,使用水磨方法,把项目做起来的。当前IM项目结构如下:
| 序号 | 项目 | 子项目 | 技术栈 | 说明 |
| 1 | im-pc | fx-gui | javafx + netty + webrtc-java |
pc端,支持windows, linux, macos。仿微信,没有微信的小程序以及支付功能 |
| 1 | fx-monitor | javafx + netty | pc端,支持windows, linux, macos。监控IM | |
| 2 | im_app | 无 | flutter + bloc + flutter_webrtc | android + ios。 |
| 3 | im_hm | emoji | arkts | 统一的emoji。各端使用统一的emoji,避免不一致 |
| 3 | core | arkts | 鸿蒙手机。 | |
| 4 | im_wasm | 无 | rust +yew+hooks+sqlite + web-sys | 页面端 |
| 5 | im-server | file-server | netty | 文件服务器。支持附件,图片等文件上传和下载 |
| 5 | server-core | mysql or mongodb | im的主业务区,采用插件的方式,支持mysql和mongodb数据存储方式 | |
| 5 | socket-server | netty | 自研Router。对外提供访问接口 | |
| 5 | websocket-server | netty | 自研Router。对外提供访问接口 | |
| 5 | udp-server | netty | 半成品。由于对udp的dos攻击未找到处理方式,项目搁置 | |
| 5 | monitor-server | netty | 监控服务端 | |
| 5 | signal-server | netty | 信令服务器。webrtc使用 | |
| 6 | im-web | im-admin | springboot | 后台。通过maker代码自动生成,然后进行修改 |
| 6 | im-client | springboot | 对外提供web 接口 | |
| 7 | rpc | 无 | netty | 基础组件:IM接口通信核心组件。通信支持二级制和json。 接口支持同步和异步两种 模式。 |
| 8 | im-base | 无 | java | 基础组件:通信对象,封装供java服务端和客户端使用 |
| 9 | StupidBear | 无 | java | 基础组件:自研的二进制编解码 |
| 10 | common | 无 | java | 基础组件:技术积累 |
| 11 | maker | 无 | javafx | 工具:代码生成器。im-web后端大部分代码都是自动生成的 |
更多推荐


所有评论(0)