我发现有两种方法可以将Spring Boot后端与Angular前端连接起来
- Spring:常规的Spring websocket代理,带有Stomp。Angular StompJS和SockJS
- 弹簧:netty socketio,它是socketio的一个端口。Angular Socket.IO
对于1(,SockJS和StompJS已过时且未进行维护。春季是最新的全功能
对于2(,Socket.IO是与Angular、Spring一起使用的最现代的:netty socketio只是java的一个端口,它不具备常规reactor web库的所有可能性
所有指南都以broker和stomp的常规方式提到spring,就像Baeldung和所有Angular指南都是关于SocketIO的。
然而,我还没有找到一种方法让他们混合?如果我错过了什么,能做到吗?现在制作这样一个网络应用程序的最佳和最现代的方法是什么?
Stomp(通过Websocket(和Socket.IO是独立的协议。使用两者,您可以归档或多或少相同的东西(从服务器到客户端的异步通信,反之亦然(,但它们是不兼容的。
使用的技术重叠:Socket.IO默认为websocket通信,但当websocket不可用时(在积极的合作防火墙上很少发生这种情况(,会返回到http(long-(轮询。Stomp没有规定通信层,但经常使用websocket。