飞豹客 · 课能看,资料也能带走
飞豹客体系课

Netty+Spring Boot仿微信,开发高性能后台及客户端

如果你已经会写 Spring Boot 的增删改查,但一遇到「两个人同时在线互发消息」就不知道从哪下手,这套资料正好卡在这个位置上。它用仿微信的形式,把 Netty 和 Spring Boot 拼成一个能跑起来的即时通讯后端加客户端,重点不在界面多像微信,而在于长连接怎么建、消息怎么投、连接断了怎么

单课价¥24.00新品 上架
会员价¥4.80开通会员,全站课程按会员价下载套餐详情
118 人关注 更新于 2026-09-19 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

购买本课销量 0 · 永久有效
会员价 · 单课标价 ¥24.00

会员 A · 按档位折扣

永久¥9.604折
年¥12.005折
月¥14.406折
周¥16.807折

会员 B

VIP¥4.80低至
SVIP单买¥200 内可领

游客按标价购买,不享受上表折扣。

支付成功后自动发放网盘链接,链接失效可找客服免费补

正版保障 极速发货 售后无忧

如果你已经会写 Spring Boot 的增删改查,但一遇到「两个人同时在线互发消息」就不知道从哪下手,这套资料正好卡在这个位置上。它用仿微信的形式,把 Netty 和 Spring Boot 拼成一个能跑起来的即时通讯后端加客户端,重点不在界面多像微信,而在于长连接怎么建、消息怎么投、连接断了怎么发现。

它解决的是哪类工作场景

日常做 Web 项目,请求—响应模型够用,因为客户端总会主动来问。但聊天、推送、在线状态这类需求,服务器得主动把消息推给某个人,HTTP 就不顺手了。这套资料处理的就是这个问题:用户注册登录后保持一条长连接,发现页和通讯录负责拉关系数据,聊天页负责收发消息,心跳检测负责判断对方还在不在线。学完你对「连接」这件事的理解会从「一次请求」变成「一条持续存在的通道」,这是做后台推送、IM、协同类功能绕不开的一步。

它不解决的是:高并发压测、分布式多机房、消息必达的工程级保证。资料给的是一个完整可运行的闭环,规模是教学级别,别指望照着它就能扛住生产流量。把它当成理解机制和跑通链路的材料,心态会正很多。

适合什么基础,先看哪几块

前提是你能独立写出一个带数据库的 Spring Boot 项目,知道 Controller、Service、Mapper 各自干什么,Maven 依赖会加,Postman 或类似工具会用来测接口。Android 客户端部分如果完全没碰过,跟着敲能跑通,但会花些额外时间在环境上,这部分不必强求一次吃透。

建议的进入顺序是:先看 Netty 基础那一段,尤其是阻塞与非阻塞、同步与异步、BIO 与 NIO 的区别,这几节是后面所有代码的地基,跳过的话看心跳和消息转发会只剩抄写。理解之后再进用户注册登录和个人信息,这是最接近你已有经验的部分,用来熟悉项目结构。接着是发现页与通讯录,属于常规业务开发,压力不大。最后才是聊天页和心跳检测,这两块是整套资料的核心,也是真正体现 Netty 价值的地方。云部署与打包放在最后看,属于把东西跑给别人看的收尾动作。

学完能独立做什么,资料怎么配合练

走完一遍,你应该能独立搭出一个支持多人在线、能互发消息、能感知掉线的小型聊天后台,并说清楚为什么这里用长连接而不是轮询、心跳包大概多久发一次、服务端怎么根据 channel 找到要推送给谁。这几个问题能在面试或评审里讲明白,比多写几个页面有用。

练习方式上,别只看视频。每看完一章就自己动手把对应模块补上,哪怕先写个最简版本。重点做三件事:把消息收发的链路自己画一遍时序,把心跳超时的时间参数改几次观察现象,把注册登录的接口用工具单独测通。资料里的代码可以对照,但尽量先自己写,卡住了再看,这样对连接管理和线程模型的手感才留得住。客户端部分如果时间紧,能跑通收发即可,不必深究界面细节。

整体判断:这是一套偏机制理解的实战资料,适合想补上长连接这块短板的 Spring Boot 开发者,不适合零基础或只想快速堆一个上线产品的人。

课程目录

课程目录73 条
  • 课程介绍 Netty+Spring Boot仿微信,开发高性能后台及客户端 是一份体系课学习资料,内容围绕 Spring 展开。 内容涵盖:netty介绍与相关基础知识、用户注册/登录/个人信息、发现页面与通讯录相关功能开发、聊天页面开发、使用netty编写心跳检测、后端云部署与app云打包 等主题。 适合对 Spring 有需求、希望一次性拿到完整资料的同学。 下方为完整资料与目录,可先看目录判断是否符合需要。 第1章 课程介绍 1-1 课前必读(不看会错过一个亿) 1-2 课程介绍 (07:40) 第2章 netty介绍与相关基础知识 2-1 初始netty (07:50) 2-2 阻塞和非阻塞、同步和异步的概念 (03:32) 2-3 BIO讲解 (03:04) 2-4 NIO讲解 (04:17) 2-5 BIO NIO AIO的区别与理解 (05:51) 2-6 再看netty (03:58) 2-7 netty的三种线程模型 (07:27) 第3章 使用netty编写第一个hello netty 服务器 3-1 使用maven构建netty基础依赖 (05:53) 3-2 构建hello服务器 (14:12) 3-3 为channel设置初始化器 (10:55) 3-4 编写自定义助手类 (12:59) 3-5 hello服务器启动与讲解 (07:38) 3-6 netty生命周期 (08:33) 第4章 使用netty构建websocket服务器 4-1 实时通信相关概念讲解 (05:29) 4-2 编写websocket服务端启动类 (04:47) 4-3 编写websocket子处理器initialzer (12:02) 4-4 编写chatHandler对消息的处理 (16:14) 4-5 基于js的websocket相关api介绍 (03:42) 4-6 简单实用hbuilder工具编写前端websocket (15:29) 4-7 测试web端携手移动端与后端netty聊天通信 (11:04) 第5章 使用MUI与H5+构建移动端app 5-1 MUI,H5+,Hbuilder介绍 (07:35) 5-2 创建项目,页面基本结构讲解 (08:38) 5-3 自定义标题栏样式 (04:02) 5-4 真机调试与原生标题栏样式更改 (12:29) 5-5 首页底部tab选项卡的使用,MUI图标库讲解 (07:14) 5-6 使用阿里图标库构建自己的icon库 (09:53) 5-7 tab选项卡切换页面(上) (18:01) 5-8 tab选项卡切换页面(下) (11:02) 第6章 使用springboot整合netty搭建后台 6-1 数据库表设计 (06:40) 6-2 使用mybatis逆向工具 (07:06) 6-3 搭建springboot2.0工程 (09:06) 6-4 maven配置国内镜像 (05:09) 6-5 springboot整合mybatis (05:23) 6-6 整合netty server (09:31) 6-7 完成netty整合springboot并且测试 (02:33) 第7章 用户注册/登录/个人信息 7-1 注册登录页面讲解与后端接口开发1 (14:25) 7-2 注册登录页面讲解与后端接口开发2 (15:00) 7-3 登录注册页面的判断事件与js自定义util (19:28) 7-4 登录注册前后端联调 (21:37) 7-5 首页禁止返回和用户自动登录讲解 (05:04) 7-6 开发我的个人页面 (15:50) 7-7 动态初始化个人信息 (10:15) 7-8 打开个人头像页面 (12:00) 7-9 增加可选择菜单 (06:21) 7-
  • 10 为菜单增加事件绑定 (03:57) 7-
  • 11 选择照片与裁剪插件 (09:45) 7-
  • 12 文件服务器概览 (06:57) 7-
  • 13 安装tracker服务 (13:37) 7-
  • 14 安装storage服务 (05:25) 7-
  • 15 配置client并且上传测试图片 (05:32) 7-
  • 16 nginx安装与fastdfs配置(上) (07:52) 7-
  • 17 nginx安装与fastdfs配置(下) (12:36) 7-
  • 18 fastdfs 整合springboot (05:54) 7-
  • 19 后端上传图片功能开发 (17:40) 7-
  • 20 上传图片前后端联调与测试 (07:05) 7-
  • 21 服务调用内网互通原则 (05:41) 7-
  • 22 实现手机相册选择照片上传 (09:33) 7-
  • 23 头像上传后跨页面调用自定义事件刷新 (08:52) 7-24 上传头像细节部分处理与openwindow的bug处理 (06:50) 7-
  • 25 下载头像到相册 (12:23) 7-
  • 26 修改昵称页面 (07:36) 7-
  • 27 修改昵称后端接口 (04:05) 7-
  • 28 修改昵称前后端联调 (07:43) 7-
  • 29 用户二维码生成 (13:06) 7-
  • 30 我的二维码作业布置 (02:25) 7-
  • 31 我的二维码作业讲解 (06:19) 7-
  • 32 用户退出以及简单小结 (04:45) 7-33 如何通过短信验证来实现用户的一键注册登录整合功能? 7-34 用户的上传的头像每次上传后,老的图片数据,是否需要删除? 第8章 发现页面与通讯录相关功能开发 8-1 发现页面编码 (07:14) 8-2 搜索朋友账号接口(上) (10:13) 8-3 搜索朋友账号接口(下) (09:46) 8-4 搜索朋友前后端联调 (14:07) 8-5 搜索结果页讲解以及webview传参 (09:28) 8-6 发送添加好友请求接口编码 (14:02) 8-7 前后端连天发送好友请求 (06:43) 8-8 查询好友请求接口 (15:34) 8-9 朋友接受到请求页面联调开发 (07:56) 8-
  • 10 好友请求HTML动态渲染 (11:34) 8-
  • 11 同意或忽略事件动态绑定 (07:55) 8-
  • 12 同意或忽略controller (04:54) 8-
  • 13 同意或忽略的service编写 (08:16) 8-
  • 14 好友请求忽略或拒绝前后台联调 (05:30) 8-
  • 15 构建扫描器 (11:12) 8-
  • 16 扫码器颜色自定义 (03:36) 8-
  • 17 扫码添加好友联调 (09:04) 8-
  • 18 延时加载预处理数据 (06:21) 8-
  • 19 mui 自带索引列表模板讲解 (06:14) 8-
  • 20 通讯录列表整合 (07:25) 8-
  • 21 图文列表和通讯录整合增加用户头像显示 (04:10) 8-
  • 22 查询用户的所有好友列表接口 (10:43) 8-
  • 23 手机端获取好友列表保存到本地 (06:46) 8-
  • 24 定义通讯录好友列表模型 (15:09) 8-
  • 25 通讯录列表渲染展现 (12:54) 8-
  • 26 好友请求接收方更新通讯录 (03:10) 第9章 聊天页面开发 9-1 聊天页面讲解与展示 (08:22) 9-2 header动态改为好友昵称,动态滚动到最新消息 (13:15) 9-3 发送按钮的颜色状态改变 (03:16) 9-4 弹出软键盘重新设置聊天窗口高度 (03:49) 9-5 发送消息前置条件网络状态判断 (07:27) 9-6 监听网络连接事件 (07:16) 9-7 发送消息html渲染 (08:32) 9-8 接收消息html渲染 (04:31) 9-9 发送消息与接收消息时的铃声播放 (07:36) 9-
  • 10 手机端websocket模型定义和发送消息 (17:17) 9-11 websocket接受消息的渲染_x264 (06:40) 9-
  • 12 服务器断开后的重连机制 (06:41) 9-
  • 13 chatHandler初步重构 (09:47) 9-
  • 14 构建聊天业务模型 (09:25) 9-
  • 15 chatHandler – 处理客户端连接 (05:50) 9-
  • 16 chatHandler – 保存聊天消息到数据库 (10:53) 9-
  • 17 chatHandler – 处理消息发送 (06:33) 9-
  • 18 chatHandler – 签收单条或多条消息 (11:55) 9-19 客户端onopen联调,初始化用户和channel关系 (13:43) 9-
  • 20 客户端发送消息与接收联调 (11:14) 9-
  • 21 接收方获得消息后重构渲染 (05:34) 9-
  • 22 客户端签收消息 (05:38) 9-
  • 23 websocket新增好友类型联调 (11:24) 9-
  • 24 保存聊天记录到本地 (09:21) 9-
  • 25 从本地获取聊天记录 (05:26) 9-
  • 26 初始化聊天记录和渲染 (11:54) 9-
  • 27 聊天快照业务简单讲解 (03:17) 9-
  • 28 保存聊天快照到本地 (08:12) 9-
  • 29 获取聊天快照 (02:36) 9-
  • 30 已读未读消息的设置与快照调用 (04:21) 9-
  • 31 展示聊天快照 (17:51) 9-
  • 32 未读消息小红点标记 (06:13) 9-
  • 33 点击快照开始聊天 (06:19) 9-
  • 34 未读消息标记已读 (11:19) 9-
  • 35 开发获取未读消息列表接口 (06:28) 9-
  • 36 前端获取未读消息列表 (06:41) 9-
  • 37 批量签收并且展示未读消息 (11:46) 9-
  • 38 聊天快照左滑删除效果 (06:13) 9-
  • 39 聊天快照右滑删除聊天记录与快照 (14:23) 9-
  • 40 所有的聊天记录是否要保存?保存到哪里更合适? 9-
  • 41 扩展聊天功能 9-
  • 42 优化用户表 第10章 使用netty编写心跳检测 10-1 心跳机制的概念与飞行模式 (06:58) 10-2 心跳HeartBeatHandler编码 (11:15) 10-3 配置空闲handler与超时时间设置 (05:33) 10-4 手机端与netty的心跳测试 (03:17) 10-5 前端keepalive保持,与心跳测试 (07:43) 第11章 后端云部署与app云打包 11-1 云服务器购买推荐及安全组介绍与关联 (13:18) 11-2 文件传输工具的使用 (06:29) 11-3 命令行工具的简单使用 (03:56) 11-4 云服务器配置JDK环境 (04:48) 11-5 云服务器安装tomcat (05:34) 11-6 云服务器离线安装MariaDB (10:55) 11-7 云服务器MariaDB安全设置与客户端连接调试 (08:35) 11-8 云服务器安装图片服务器的注意事项以及nginx反向代理tomcat服务器 (10:00) 11-9 springboot工程打包 (10:05) 11-
  • 10 打包文件上传到云服务器并且进行tomcat部署 (05:31) 11-
  • 11 app云打包 (14:12) 第12章 课程总结 12-1 课程总结 (01:19)