netty-socketio 概述
netty-socketio是一个开源的Socket.io服务器端的一个java的实现,它基于Netty框架,可用于服务端推送消息给客户端。
说到服务端推送技术,一般会涉及WebSocket,WebSocket是HTML5最新提出的规范,虽然主流浏览器都已经支持,但仍然可能有不兼容的情况,为了兼容所有浏览器,给程序员提供一致的编程体验,SocketIO将WebSocket、AJAX和其它的通信方式全部封装成了统一的通信接口,也就是说,使用SocketIO时不用担心兼容问题,底层会自动选用最佳的通信方式。
netty-socketio 框架事件流程
netty-socketio的代码示例可参考:https://github.com/mrniko/netty-socketio-demo
使用netty-socketio进行消息推送
消息实时推送可使得用户及时获取相关的信息,增加工作的处理效率,获得更好的交互体验。消息推送的应用场景举例
- 新内容提示——新文章,新视频,新留言
- 任务列表提示——下午6点有视频会议,有两个审批文件需要批复,下午4点巡逻A区
- 操作状态提示——你上传的视频已经压缩完毕,你发布的文章已被收录
- 指引性提示——数据文件已处理完毕,请进行下一步操作
消息推送技术原理可参考:https://88250.b3log.org/web-message-push
实现代码可参考:https://www.jianshu.com/p/579c45b5abf1