首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么websocket每隔7分钟就断开一次?(角度和方向)

为什么websocket每隔7分钟就断开一次?(角度和方向)
EN

Stack Overflow用户
提问于 2022-08-20 10:34:44
回答 1查看 163关注 0票数 0

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

EN

回答 1

Stack Overflow用户

发布于 2022-08-20 11:19:48

在RFC中,websocket不是一个保持生存的连接和协议.这意味着,您必须设计一个体系结构来验证并使其活动。也见RFC 6455和PING,乒乓的定义。

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

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

而且,大猩猩没有处理它,所以你必须手动实现它。但是这是一项非常简单的工作,并且有许多示例代码,比如大猩猩websocket聊天示例:客户端和服务器,以及SetPongHandler

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73425951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档