gpt4 book ai didi

google-app-engine - Google App Engine Channels API 并从客户端发送心跳信号

转载 作者:行者123 更新时间:2023-12-03 22:46:00 25 4
gpt4 key购买 nike

在从事 GAE 项目时,我们的一个要求是我们希望能够及时确定用户是否已离开应用程序。目前我们已经做到了这一点,但不可靠,所以我正在研究替代方案。

我们现在执行此操作的方法是设置一个函数,在 JS 中运行一段时间间隔,使用 AJAX 调用向 GAE 应用程序发送心跳信号。这种方式效果相对较好,但会产生大量流量和 CPU 使用率。如果我们在几分钟内没有听到客户端的心跳,我们就确定他们已经离开了应用程序。我们还连接了卸载函数来发送部分消息,再次通过 AJAX 调用。这不太有效,但大多数时候根本不起作用。

我们还使用 Channels API。我注意到的一件事是,我们的应用程序在使用开放 channel 时,客户端似乎也在以调用 http://talkgadget.google.com/talkgadget/dch/bind 的形式发送心跳信号。 。我相信这是在客户端打开 channel 时加载的 iFrame 和/或 JS 中发生的。

我的问题是,我在服务器端的应用程序可以如何 Hook 这些对 http://talkgadget.google.com/talkgadget/dch/bind 的调用并用它作为心跳信号?有没有更好的方法来检测客户端是否仍然连接,即使他们没有在客户端中主动执行任何操作?

最佳答案

Google 添加了此功能:

参见https://developers.google.com/appengine/docs/java/channel/overview

Tracking Client Connections and Disconnections

Applications may register to be notified when a client connects to or disconnects from a channel.

You can enable this inbound service in appengine-web.xml:

关于google-app-engine - Google App Engine Channels API 并从客户端发送心跳信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412037/

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