gpt4 book ai didi

node.js - Heroku 上的 Socket.io 随机 H15 消息

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:46 25 4
gpt4 key购买 nike

我的设置:

  • 我们有一个使用 socket.io 的应用程序,托管于 Heroku在业余爱好测功机上。

问题:

客户端随机断开连接并重新连接。我已将此追溯到 Heroku 向我记录 H15 错误:

所以,这是 Heroku 对此的说法:

The dyno did not send a full response and was terminated due to 55 seconds of inactivity.

为什么我觉得这很奇怪:

  • Socket.io 默认发送一条心跳消息。默认 pingInterval25000ms。因此正常情况下应该不会出现上述错误信息。

什么情况可能会导致这种情况?

最佳答案

我找到了this great article建议 pingInterval + pingTimeout 应小于 55 秒以避免此错误。因此,在您的服务器上尝试此操作应该可以解决该问题:

import SocketIO from 'socket.io';
const sio = SocketIO(server, {
pingInterval: 15000,
pingTimeout: 30000,
});

此外,Heroku recommends having the Session Affinity feature enabled使用 socket.io 时,您可以通过命令行执行此操作:

heroku features:enable http-session-affinity

关于node.js - Heroku 上的 Socket.io 随机 H15 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35972419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com