繁体   English   中英

为什么websocket每隔7分钟就会断开连接? (角度和 Go )

[英]Why does websocket disconnect after every 7 minutes? (Angular and Go )

I am working on the application where I have used angular in frontend and go in backend, using websocket ( RxJs, Gorilla ). websocket 连接每 7 分钟断开一次。 我没有在任何地方设置 7 分钟作为超时。 我将ngnix配置更改为代理读取超时为7d,保持活动超时为7d。 我们还使用 Aws ALB(负载均衡器)。 不知道为什么会这样? 请帮帮我。 我需要进行任何配置更改吗? 因为我已经监控了应用程序,如果 websocket 连接处于活动状态,它工作正常,只是在几分钟后它开始做出奇怪的反应。 所以我觉得这不是代码中的问题,而是一些配置

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

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

一些框架可能已经包装了一个内置的 keep-alive 机制来服务它,所以首先检查它们的引用。

而且,Gorilla 还没有处理它,所以你必须手动实现它。 但这是一个超级简单的工作,并且有很多示例代码,例如 gorilla websocket 聊天示例: 客户端和服务器,以及SetPongHandler

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM