【问题标题】:Does Spring webflux supports socket.io or sockJsSpring webflux 是否支持 socket.io 或 sockJs
【发布时间】:2018-07-30 06:23:06
【问题描述】:

遵循 spring webflux 文档 我不得不注意到每个示例都是基于纯 websocket 的。

spring webflux是否支持socket.io或sockjs之类的浏览器客户端库?

【问题讨论】:

    标签: spring socket.io spring-webflux sockjs


    【解决方案1】:

    Spring 框架团队目前没有考虑在 WebFlux 中使用此功能。由于反应流中的背压支持,团队正在考虑利用该信息的协议。

    例如,rsocket 支持将适合该空间等等。见SPR-16751

    【讨论】:

    • 非常感谢您澄清这个问题!
    • 我可以将普通的 ol' WebSockets 与 Spring WebFlux 一起使用,但不能使用 socket.io。当我尝试使用 socket.io 时,我收到“无效的‘升级’标头:”错误。我在 Spring Cloud Gateway 上发现了这个问题。 github.com/spring-cloud/spring-cloud-gateway/issues/209 如果 socket.io 可以与 Spring WebFlux WebSockets 一起使用,那就太棒了。
    • @brian-clozel RSocket 不是独立于传输的应用程序级协议吗?它更像是从 Spring MVC 的 WebSocket 支持中替换 STOMP,但它不会替换 sock.js,它是 传输级协议 的抽象和间接层(它可以模拟不支持的 WebSocket) .所以不管选择什么应用层协议,sock.js 都是必须的,不是吗?
    • 是的。 RSocket 库也附带传输级协议支持。例如,Rsocket JavaScript 库支持带有浏览器的 websocket。根据目标环境,可能只有一部分传输协议可用。
    猜你喜欢
    • 2017-11-06
    • 2020-02-22
    • 1970-01-01
    • 2021-07-13
    • 2015-08-17
    • 2021-01-31
    • 2018-11-24
    • 2011-07-02
    • 2011-11-13
    相关资源
    最近更新 更多