什么是消息推送?
正常情况下一个前后端的交互过程是这样的:
用户操作界面触发前端代码
前端请求后端并提交数据
后端响应数据给前端
前端渲染结果展示给用户
大部分情况以上流程就可以解决,但有一些特殊情况下例外,比如服务器无法马上处理一个请求或服务器通过定时任务自动处理任务,并且需要在以后某个时间处理完成后通知用户处理结果(比如转账、抽奖、核对订单等)。这种时候需要服务端主动向用户推送一些内容,一般有两种做法:
客户端不断的请求服务端以获取最新数据(轮询)
服务端主动推送给客户端(消息通知/推送)
一般来讲,第二种会更加优雅一些,并且减少了大量的请求消耗。市场上也有很多的消息推送技术,比如websocket、socketio、netty等。本文介绍下Javaspringboot下的netty-socketio的实现方式。
socketio
一、后端
1.添加maven依赖
!--服务端--
dependency
groupId