登录
首页 >  Golang >  Go问答

WebSocket在Angular和Go中为何每隔7分钟断开一次连接?

来源:stackoverflow

时间:2024-02-15 14:06:23 153浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《WebSocket在Angular和Go中为何每隔7分钟断开一次连接?》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我正在开发一个应用程序,我在前端使用了 Angular,并在后端使用了 websocket(RxJs、Gorilla)。 Websocket 连接每 7 分钟断开一次。我没有在任何地方设置7分钟作为超时。我将 ngnix 配置更改为代理读取超时为 7d,保持活动超时为 7d。我们还使用 Aws ALB(负载均衡器)。不知道为什么会这样?请帮帮我。我需要进行任何配置更改吗?因为我已经监控了该应用程序,如果 websocket 连接处于活动状态,它就可以正常工作,但几分钟后它就开始做出奇怪的反应。所以我感觉这不是代码中的问题,而是一些配置的问题


正确答案


在 RFC 中,websocket 不是一个保持活动的连接和协议。这意味着,您必须设计一个架构来验证并使其活跃。 另请参阅 RFC 6455 和 PING、PONG 定义。

一旦你的心跳信号保持对服务器上端点的响应(据我所知,这个 ping/pong 也可以从客户端引导),底层协议层将识别该连接是活动的,或者必须关闭它才能遵守符合规范。

一些框架可能已经封装了一个内置的保持活动机制来服务它,所以首先检查它们的引用。

顺便说一句,websocket 层上的任何通信错误都会导致 ws 连接关闭。在这种情况下,应该设计一个稳定的通信框架来管理重连事件。

以上就是《WebSocket在Angular和Go中为何每隔7分钟断开一次连接?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>