三个基本问题
为什么不直接使用Websocket,还要使用SockJS?
- SockJS是为了解决浏览器对HTML5 Websocket API的兼容性而提供的备用解决方案JS库。
难道不能使用Socket.IO代替SockJS来提供备用方案吗?
- SockJS是Spring官方推荐的解决方案,受直接支持。
- 尽管这样,我们还是可以在Spring中集成 netty-socketio来实现即时通信
- Demo:《会飞的污熊—springboot-socketio》
兼容性也被解决了,为什么还要使用STOMP?
- STOMP也是Spring官方推荐且直接支持的Websocket通信解决方案,旨在降低搭建即时通信应用的成本和复杂度。
更多概念问题可参考文章
《完全理解TCP/UDP、HTTP长连接、Websocket、SockJS/Socket.IO以及STOMP的区别和联系》