【问题标题】:Micronaut Websocket connection timing out after every 5 minutes每 5 分钟后 Micronaut Websocket 连接超时
【发布时间】:2020-10-01 22:47:00
【问题描述】:

在我的 micronaut 应用程序中,我正在使用 websockets,但每 5 分钟后套接字连接就会超时,我想自定义此值。 在 micronaut 文档中给出了这个配置:

micronaut:
    server:
        idle-timeout: 30m # 30 minutes

但是这个配置也不起作用。有人可以帮忙吗?

【问题讨论】:

    标签: websocket netty micronaut


    【解决方案1】:

    不得不使用这个配置:

    server:
        idle-timeout: 60m
        read-idle-timeout: 60m
        write-idle-timeout: 60m
    

    结果表明,Micronaut 会为这些设置中的每一项发送断开连接事件,因此我们必须更新所有三个值的超时。

    【讨论】:

      【解决方案2】:

      我认为服务器配置会影响您打开的每个连接 - 不仅仅是套接字 TCP。对我来说,解决方案是实现“乒乓”或“心跳”功能 - 基本上是从客户端发送到服务器并在固定间隔内返回的消息。我会每隔x 分钟发送一次“ping”,后端会用“pong”响应。虽然这可以保持连接打开,但我敢肯定这不是每个项目的好解决方案。

      另外,Connection Timeouts 部分下的文档 here 说:“...默认情况下,Micronaut 将超时 5 分钟后没有活动的空闲连接。通常这不是问题,因为浏览器会自动重新连接WebSocket 会话...”,我也不是这样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-03
        • 2015-02-16
        • 1970-01-01
        • 2017-06-05
        • 2018-11-08
        • 2020-05-04
        • 1970-01-01
        相关资源
        最近更新 更多