Spring boot + netty开发即时通讯 IM

Spring boot + netty开发即时通讯 IM

目的

学习以及开源思想,写一个可使用的IM通信程序

github地址

链接: https://github.com/295963611/im_platform.git.

项目目录结构

在这里插入图片描述

  • im-control 控制层
    • im-stage 对于IM 接口访问以及项目启动
  • im-core 主业务逻辑层
  • im-domain 持久化层 mapper model
  • im-utils 工具层

主要核心类介绍

  • WbWebNettyServer websocket 服务启动类 用于主线程工作线程以及端口
  • WbNettyServer socket 服务启动类 用于主线程工作线程以及端口
  • 这边是把websocks 以及socket 分为2个端口启动
  • WbMessageAdapter 业务适配器 用于识别消息进入不同的业务处理 ,以及适配器注册
  • IWbMessageService 业务接口 主要业务实现
    • WbLoginTokenService 登陆im服务
    • WbMessageService 消息收发服务
    • WbHeartBeatService 心跳服务
  • BusinessKeyEnums 业务枚举
  • ChannelCache 通道缓存