gpt4 book ai didi

javascript - Socket.io 需要很长时间才能触发断开连接事件

转载 作者:行者123 更新时间:2023-11-30 05:51:58 25 4
gpt4 key购买 nike

我正在使用 node.js 和 socket.io 做一个 HTML5 游戏

我决定在 Heroku 上托管它.

Heroku 不允许使用 WebSockets,因此我必须改为设置 xhr-polling。 ( Socket-io on Heroku )

io.configure( function() {
io.set( "transports", ["xhr-polling"] );
io.set( "polling duration", 10 );
} );

之前,我只使用网络套接字

io.set( "transports", ["websocket"] );

现在,当客户端断开连接(关闭他的窗口或刷新他的页面)时,“断开连接”事件不会立即在服务器上触发(它看起来像是在等待客户端心跳超时)。

client.on( "disconnect", onClientDisconnect );

如果客户端重新加载,我会在 断开连接之前收到多个连接事件。我的问题就在这里。

您有什么想法,为什么 xhr-polling 不触发断开连接事件?这是 socket.io 的错误配置吗?

谢谢。

最佳答案

它说 here您可以配置心跳。要正确配置它,您必须在服务器端和客户端调整心跳(给定 here )。

尝试降低心跳。它可能会解决您的问题。另一方面,appfog 似乎支持 websockets。

关于javascript - Socket.io 需要很长时间才能触发断开连接事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14168842/

25 4 0
文章推荐: javascript - DataTables按属性而不是数组索引过滤对象数组
文章推荐: javascript - kmz 文件未在 google earth 插件中显示 - 必须缩放和取消缩放才能显示
文章推荐: javascript - 错误 : Object # has no method 'toUpperCase'