爱内涵论坛

 找回密码
 立即注册
搜索
查看: 1162|回复: 19

NettySpringboot仿微信聊天全栈实战 从0开发到上线部署

[复制链接]

909

主题

964

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

金币
9855
巨币
6179
积分
37418

2019年众筹小组s2019年众筹小组ss2019年众筹小组sss

发表于 2019-5-1 21:41:26 | 显示全部楼层 |阅读模式

马上注册,获取更多精彩内容!!!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
NettySpringboot仿微信聊天全栈实战 从0开发到上线部署
0 R7 X0 ~0 A+ u& s9 l& k* ?% ~4 @# Z* `# J

* s/ @% w) k/ b第1章 课程介绍
. ?* e. n  E& R' y本章首先让大家彻底明白通过本课程的学习具体收获有哪些?课程内容具体安排与学习建议,然后为大家简单介绍课程涉及到的技术栈等。% S- y# B" d/ c' c/ \
! V7 m$ f! H/ P4 O7 }5 w
1-1 课程介绍
3 F; c- X1 B0 d% k第2章 netty介绍与相关基础知识
1 x3 O1 C5 S. D, z" W4 v. `* R初识netty,学习阻塞与非阻塞,同步与异步,理解BIO、NIO、AIO以及netty的线程模型; W% i2 ?: a3 L0 |

: Y5 q5 m2 |8 o  b2-1 初始netty4 K$ Y/ d( z7 I, |
2-2 阻塞和非阻塞、同步和异步的概念) P: }9 a1 `+ O1 S, {2 N7 G: ^
2-3 BIO讲解' L$ }  V+ L* Y! K- s1 J+ b' V
2-4 NIO讲解* U( V3 z4 ], x. c$ n; `4 m
2-5 BIO NIO AIO的区别与理解( U% D7 w5 ]; y, Y7 U
2-6 再看netty- k4 r. F* P9 t( [) ^
2-7 netty的三种线程模型
: ]6 Z7 n9 \% c' S4 N第3章 使用netty编写第一个hello netty 服务器
" r, C0 f* d2 }: ^' f" g0 Q从零开始使用netty编写服务器,在网页访问后返回hello netty,主要对服务器启动类,channel初始化器以及助手类讲解,最后会对channel的生命周期进行讲解% f8 m: q( o0 J% D3 M

1 Q8 D! s5 u9 z/ w$ D. E3-1 使用maven构建netty基础依赖/ x5 G, K, ^! f9 M: F2 ^7 W
3-2 构建hello服务器
' w* ?1 Q. E. S  V& d* s$ J  c8 T3-3 为channel设置初始化器
- n0 H* o! \$ ]) ^3-4 编写自定义助手类
2 q6 S8 a7 n% ^: u: K0 h* f3-5 hello服务器启动与讲解
/ K$ \" G6 U  _' b/ z# p% h7 _  y8 A3-6 netty生命周期0 H. _7 ?0 n& Q1 h# F5 t3 o
第4章 使用netty构建websocket服务器
4 J& e+ v. t* _理解实时通信,使用netty的websocket编写服务端启动类、子处理器以及助手类。 理解JS相关的websocket api,简单使用hbuilder编写通信页面与netty交互并且使用web浏览器与手机端浏览器进行测试数据交互$ ^! v5 W1 E9 l
' O: c& s) R( \+ C% `3 N/ V
4-1 实时通信相关概念讲解
+ v4 F5 r6 e8 b8 L( j. |4 `/ c1 G) o4-2 编写websocket服务端启动类
/ s$ \3 U+ R6 f4-3 编写websocket子处理器initialzer' B+ c# Y5 K2 Q0 {% V8 \: }7 E
4-4 编写chatHandler对消息的处理
7 M  v2 S' c; K; b! w9 O4-5 基于js的websocket相关api介绍) a, M5 j( j3 f
4-6 简单实用hbuilder工具编写前端websocket# H6 X5 T& J1 }
4-7 测试web端携手移动端与后端netty聊天通信. M) E' c2 W0 l( I5 e( k+ o# T% ?+ o" e
第5章 使用MUI与H5+构建移动端app
0 d% J, h. K1 z1 m3 ^零基础讲解MUI、H5+以及hbuilder开发工具,构建慕信轻聊的基本骨架
/ k6 z; e( l  |6 [5 g. d6 Z- o! d
9 N. {3 E8 I. H5-1 MUI,H5+,Hbuilder介绍
- i! r6 F: ^3 |& i8 w! F5-2 创建项目,页面基本结构讲解+ k% V1 t/ w( K6 t0 }% v
5-3 自定义标题栏样式( l5 G. f9 Z, R4 b9 L7 Q9 L
5-4 真机调试与原生标题栏样式更改# K' b1 z9 b3 [6 D: g' a
5-5 首页底部tab选项卡的使用,MUI图标库讲解
8 N& b4 B$ m, h5 }7 Q% Y5-6 使用阿里图标库构建自己的icon库
  n7 {: d, l  x( b6 W* }5-7 tab选项卡切换页面(上)1 z, ]! r. `( j
5-8 tab选项卡切换页面(下)
) ~4 P/ a* K. ]第6章 使用springboot整合netty搭建后台
! h! U, R2 H1 k6 o对数据库表设计进行讲解并且使用springboot作为主要后台框架,并且整合mybatis以及netty,重构netty server并且整合) j, T( J* q; G0 D" V" U) {- O

6 e  V$ L' M/ W4 }+ D  f1 E6-1 数据库表设计
- ^- C5 {  `1 G& n* e, x0 `' h6-2 使用mybatis逆向工具( U8 ~" G' R4 k
6-3 搭建springboot2.0工程
  P. y! y, b$ v# C9 w) M6-4 springboot整合mybatis1 A/ l8 K2 e+ J! j* r
6-5 整合netty server9 e; x9 S8 }1 ^, s* A) v
6-6 完成netty整合springboot并且测试
! F0 V3 B  U1 ]& V- Q5 U第7章 用户注册/登录/个人信息
) i4 a( q+ d; Q* q% W开发用户注册登录以及个人信息页面相关功能模块,其中涉及到高性能分布式文件存储服务器fastdfs的搭建,并且使用nginx发布可使用http进行web访问并且下载用户头像和二维码
& t1 V$ q8 N& M% o1 t- e- Q. t
- K. m" B/ b) ^- e/ b6 o7-1 注册登录页面讲解与后端接口开发1( ?( m0 }3 D- t. l, Z# S; \
7-2 注册登录页面讲解与后端接口开发2
3 m1 r. w9 l/ z! j( ]7-3 登录注册页面的判断事件与js自定义util) g- E9 P7 W: W: B! n- {- P
7-4 登录注册前后端联调
  n% |- t; C' G4 s) s. h- S, n7-5 首页禁止返回和用户自动登录讲解
( P7 a, t) i0 Q, j2 a7-6 开发我的个人页面
/ ]. f6 Q0 {" M( H8 ]1 o7-7 动态初始化个人信息% g5 L5 k! S0 Y! F8 t# M
7-8 打开个人头像页面
5 F- R% q/ q! g1 o( o7-9 增加可选择菜单% Y$ s' d8 b5 Z+ u
7-10 为菜单增加事件绑定
& D  w) t) K/ x9 M) c" i7-11 选择照片与裁剪插件/ H. t/ e4 ]& q  B% c. ?9 Z! A( s
7-12 文件服务器概览% J- c2 \! `8 E" r4 P8 ^3 @! H
7-13 安装tracker服务
' {+ y' f  Z- s0 g2 l7-14 安装storage服务. ~  C0 J9 [1 X% g/ z5 J
7-15 配置client并且上传测试图片) b* u, N2 M: n" N( }
7-16 nginx安装与fastdfs配置(上)( y9 X/ g7 H& v5 O2 Q
7-17 nginx安装与fastdfs配置(下)0 y7 q7 ^  J6 C) V: u2 b% J- ?7 l, Z+ m
7-18 fastdfs 整合springboot
- N. P* B6 W, h4 `) e" }6 v+ F" L1 x7-19 后端上传图片功能开发  a( P; S( I3 g  y" F7 t+ @
7-20 上传图片前后端联调与测试0 R7 k( j* K; v9 W4 }- X
7-21 头像上传后跨页面调用自定义事件刷新6 c6 C* }6 A  t0 t% k  w
7-22 上传头像细节部分处理与openwindow的bug处理
0 s8 i# r! G; l1 q7-23 下载头像到相册5 @% G' ?. _  n+ V9 u7 B
7-24 修改昵称页面
! l8 Z7 r' K5 T! J/ R7-25 修改昵称后端接口0 z8 t% Q9 X% q) x1 {3 H! f
7-26 修改昵称前后端联调
! I: R4 i: c- v7 r2 A: F- a$ c7-27 用户二维码生成
- E) P* b& l' u$ Y4 [+ H7-28 我的二维码作业布置6 v! F2 b9 y; ~- y3 Y: i6 w1 ?* B: F8 {/ C
7-29 我的二维码作业讲解0 a! n; _/ p# M1 S( Q; g& Q( ]
7-30 用户退出以及简单小结
: t1 M4 k- l! V; K1 l0 Q6 o8 g第8章 发现页面与通讯录相关功能开发( u% ?5 D  T( f# Z' q' Y
用户可以通过搜索其他用户账号进行好友添加,或者通过用户的唯一二维码进行扫码添加,发送添加请求后其他用户可以拒绝或者同意好友请求
4 Z) y4 l' u/ |7 H/ B. i4 j
* G. e# ^8 D$ J8-1 发现页面编码& K8 l& ^3 Y% v6 [$ U$ ]0 M, g' H
8-2 搜索朋友账号接口(上)
+ g3 H  W# Z3 ]& Y& F0 \  m' k6 c- }8-3 搜索朋友账号接口(下)
; f. K6 [0 p% A. {& t) N8-4 搜索朋友前后端联调- `. f' i$ x) P( E6 F. z
8-5 搜索结果页讲解以及webview传参
" ^0 E- g5 W* {0 i7 N8-6 发送添加好友请求接口编码
# b) ?9 j* D4 k5 G1 h5 R# D8 r6 r. c8-7 前后端连天发送好友请求- P. O# O& P% N9 W
8-8 查询好友请求接口
) n' ~6 l: y* k* ~3 c8-9 朋友接受到请求页面联调开发
6 b( X$ J* a/ Z1 U2 X1 {8-10 好友请求HTML动态渲染
7 f0 s8 ?+ U6 m9 X7 h: g6 i8-11 同意或忽略事件动态绑定) Q% x5 _' I9 A' p! [
8-12 同意或忽略controller
: o% n  \* m0 x9 e7 m# g8-13 同意或忽略的service编写) ~& h) t, \" h% t  x0 m
8-14 好友请求忽略或拒绝前后台联调
( N4 \; G. a- D% S& n" Q0 F2 ^8-15 构建扫描器
  {; E5 a' Y/ B. D! T8-16 扫码器颜色自定义5 h1 O) t( B& ~! p0 `7 A% q
8-17 扫码添加好友联调
( o$ B! s, V, B1 f. j$ @8 S7 D2 W8-18 延时加载预处理数据, Y/ @2 V3 u9 @! {5 c' {
8-19 mui 自带索引列表模板讲解
2 V* |0 Q1 G4 y( F0 L, B! K8-20 通讯录列表整合
7 K. y- G& E- S) i5 E8-21 图文列表和通讯录整合增加用户头像显示% K* @0 e3 U: A2 g  F
8-22 查询用户的所有好友列表接口7 Q! R8 }! l% m# C$ H7 r
8-23 手机端获取好友列表保存到本地
! V8 @  p2 v0 Q! @( r# e8-24 定义通讯录好友列表模型: X" ]% Q* Y2 n: P5 T7 g5 S! r
8-25 通讯录列表渲染展现
, r* @+ Q* C5 @  d/ w; G8-26 好友请求接收方更新通讯录
9 m9 l9 j+ v" Q3 a: S第9章 聊天页面开发% z- w$ a6 B- ^$ F) k  w
构建手机端上的聊天页面模型,建立会话,接受发送消息,netty控制点对点消息发送,控制会话重连,聊天记录的本地保存与左滑删除,消息标记未读,消息牵手等。2 u) ?0 M! g$ v6 r+ L9 `

- A3 R% I& ?, g/ [7 F$ A6 w! R( ~9-1 聊天页面讲解与展示
* x( b) l5 r$ ~4 W0 n: E9-2 header动态改为好友昵称,动态滚动到最新消息
4 }2 ^; P+ e/ O: S5 u' \9-3 发送按钮的颜色状态改变
" b6 A' F  ~/ H/ n  W. _+ c$ S9-4 弹出软键盘重新设置聊天窗口高度
, C" s* s/ s+ Q4 O1 \4 l9-5 发送消息前置条件网络状态判断
0 N+ L0 k( R! \. U5 h9-6 监听网络连接事件
2 O( i# g" Y* s9-7 发送消息html渲染
9 M& e: @% e3 g$ |: q9-8 接收消息html渲染! `+ T. L* g( F, @5 f
9-9 发送消息与接收消息时的铃声播放
4 j1 e, z; b% H5 F6 G9-10 手机端websocket模型定义和发送消息
$ S. P1 R8 u/ N- j9-11 websocket接受消息的渲染_x264
' @5 ~. i+ Z* ]% T9 k9-12 服务器断开后的重连机制/ k. P* F$ m4 P$ S9 Q! f
9-13 chatHandler初步重构* N6 T& d# P  R+ N( B
9-14 构建聊天业务模型
  B. A# ~& N8 U  w9-15 chatHandler - 处理客户端连接) ^2 p1 @$ h3 C
9-16 chatHandler - 保存聊天消息到数据库
. m/ [) w- C- T# m$ V9-17 chatHandler - 处理消息发送
1 x) X: z+ K/ `+ O& Y0 @9-18 chatHandler - 签收单条或多条消息! p7 B$ y! s, m. x* T
9-19 客户端onopen联调,初始化用户和channel关系  T7 m, t" d2 p9 E: p4 o0 Q
9-20 客户端发送消息与接收联调, |% T. E* u! M" g+ G6 f% X
9-21 接收方获得消息后重构渲染
5 n4 Q& U: P8 P# L3 t1 l2 R+ ^9-22 客户端签收消息
* E3 @" B8 u/ k3 ?9 B8 X* J9-23 websocket新增好友类型联调
8 c1 q3 A* n! \* ]9-24 保存聊天记录到本地
3 q% ^/ D& q1 `+ |: b1 N" i9-25 从本地获取聊天记录# s) k9 C  c3 _0 z; }# V6 A& E' [& \
9-26 初始化聊天记录和渲染& c/ g; P* l0 d* u  X
9-27 聊天快照业务简单讲解3 V# P  J; u/ c; [1 H8 @
9-28 保存聊天快照到本地
* L( x, [7 s) t8 g$ H8 W. z8 g9-29 获取聊天快照
8 d$ y5 p  O8 S/ l& c9-30 已读未读消息的设置与快照调用
% G' }+ e0 o8 r; p2 c- o9-31 展示聊天快照: R7 ?" Y8 \3 E4 G
9-32 未读消息小红点标记
* S! G3 r" a/ J9-33 点击快照开始聊天
! K" f" F: q8 i# b9 W( l3 Z+ |9-34 未读消息标记已读% _6 d3 ?2 o9 E. x2 u% T6 e
9-35 开发获取未读消息列表接口
4 }7 Z0 m7 O& B3 \6 o9-36 前端获取未读消息列表4 i/ o  i  c& w. s; C% n' ]' H2 v9 A
9-37 批量签收并且展示未读消息
' _- K& e8 J8 I5 w! M$ f9-38 聊天快照左滑删除效果  g2 q8 I# ?  o2 Q7 z* _- D
9-39 聊天快照右滑删除聊天记录与快照
1 F* n9 y8 a; q& {: A3 A第10章 使用netty编写心跳检测$ F; f1 l1 o* B* `3 |
app不会主动和服务端切断,只会有可能发生离线或者关机或者飞行模式,所以需要在后台控制心跳,检测客户端的读写请求来判断是否清除无用的channel。同时手机端也要保持一定的keepalive。未接受到的消息在用户下次打开后重新获取。        ...
4 a+ j& X6 K( C1 c
( j1 E1 \9 P* j) D" d1 Y10-1 心跳机制的概念与飞行模式$ ^/ T" ]# \+ K8 m/ s0 N9 _/ p) D
10-2 心跳HeartBeatHandler编码- u) r( H" a: ~) \8 E1 P
10-3 配置空闲handler与超时时间设置
$ w" z2 Q! B( {+ V5 k10-4 手机端与netty的心跳测试
' }) `' k0 N6 Y& i% {5 w# W3 ?5 o4 E10-5 前端keepalive保持,与心跳测试5 R( K7 A1 v6 L% O/ ?8 C3 l8 x
第11章 后端云部署与app云打包) u0 q! w2 z4 S. {
本章节做为上线部分,需要购买云服务器,采用腾讯云,会对其进行讲解,然后搭建基本环境,包含JDK、tomcat、MariaDB、fastdfs、nginx,springboot打包与部署。最后对手机app进行云打包0 |& i+ t: k1 Y3 S+ C
1 I: |, v: l8 b5 _# n8 L
11-1 云服务器购买推荐及安全组介绍与关联- [6 r( c4 T) f) v% \3 ~
11-2 文件传输工具的使用2 X% F# j# M- T; O8 }1 Z
11-3 命令行工具的简单使用6 F6 R' m; f/ v6 E1 j
11-4 云服务器配置JDK环境
! F. W& |/ w# y  Y11-5 云服务器安装tomcat
7 B( o4 ]* y: z& \# m1 W: i11-6 云服务器离线安装MariaDB" ]3 u( [$ z6 M2 E$ Q
11-7 云服务器MariaDB安全设置与客户端连接调试
- i2 v3 _( M/ f11-8 云服务器安装图片服务器的注意事项以及nginx反向代理tomcat服务器
/ w, T0 U' w" ]2 i11-9 springboot工程打包
! l! |/ {( U4 V- @# R11-10 打包文件上传到云服务器并且进行tomcat部署0 `  u, g/ s; O3 e  _
11-11 app云打包; w  r* k! k2 A7 \8 v
& _4 U1 N$ t3 g/ u( M, L
游客,如果您要查看本帖隐藏内容请回复
4 Z0 Z7 f3 V3 b5 ?: k3 L
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

2

帖子

3

积分

终身VIP+

Rank: 5Rank: 5

金币
0
巨币
2
积分
3
发表于 2019-5-1 22:02:56 | 显示全部楼层
我是来刷分的,嘿嘿
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

1

帖子

1

积分

程序员

Rank: 1

金币
0
巨币
1
积分
1
发表于 2019-5-2 09:38:36 | 显示全部楼层
还是有视频比较爽,视频里有人讲解
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

1

帖子

4

积分

程序员

Rank: 1

金币
0
巨币
1
积分
4
发表于 2019-5-2 14:35:17 | 显示全部楼层
小手一抖,钱钱到手!
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

1

帖子

3

积分

程序员

Rank: 1

金币
0
巨币
1
积分
3
发表于 2019-5-2 14:41:16 | 显示全部楼层
相当不错,感谢无私分享精神!
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

1

帖子

5

积分

程序员

Rank: 1

金币
0
巨币
1
积分
5
发表于 2019-5-2 15:38:39 | 显示全部楼层
突然很想学学,感谢
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

1

帖子

2

积分

程序员

Rank: 1

金币
0
巨币
1
积分
2
发表于 2019-5-2 16:12:18 | 显示全部楼层
谢谢@Thanks!
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

1

帖子

5

积分

程序员

Rank: 1

金币
0
巨币
1
积分
5
发表于 2019-5-2 16:24:00 | 显示全部楼层
谢谢楼主,共同发展
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

2

帖子

4

积分

程序员

Rank: 1

金币
0
巨币
2
积分
4
发表于 2019-5-2 16:28:53 | 显示全部楼层
我抢、我抢、我抢沙发~
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

0

主题

2

帖子

6

积分

程序员

Rank: 1

金币
0
巨币
2
积分
6
发表于 2019-5-2 18:33:31 | 显示全部楼层
这个资料很热门的,需求广泛。
爱内涵论坛关注易语言与按键精灵的脚本辅助软件开发领域。                     VIP视频目录            VIP会员介绍            自助加入会员            联系客服加入会员            爱内涵免费①群            爱内涵免费②群            爱内涵免费③群
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|爱内涵论坛 ( 浙ICP备19016710号-3 )

GMT+8, 2020-11-29 19:16 , Processed in 0.884365 second(s), 13 queries , Gzip On, File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表