【问题标题】:Is there away to know if a user is still on my site - instead of using cookies or sessions是否知道用户是否仍在我的网站上 - 而不是使用 cookie 或会话
【发布时间】:2023-03-30 06:50:01
【问题描述】:

我想知道,是否有实时 ping 用户的方法,看看该用户是否仍然是唯一的。

我的网站使用 jQuery、PHP 和 CRON 作业 所以我想知道检查用户是否仍然在线的最佳方法是什么。

每个用户都会发出一个 cookie 也就是会话密钥,但我不想就这么过去了。

我知道实时分析能够做到这一点,使用 javascript 所以我想知道我是否也可以做同样的事情。

谢谢

【问题讨论】:

    标签: php jquery tracking cron-task


    【解决方案1】:

    可以通过来自客户端的持续 ajax 调用来完成,但不推荐。

    我建议使用 flash 或类似的东西来减少对服务器的 ajax 请求数。

    【讨论】:

      【解决方案2】:

      您选择的任何方法都与您提到的方法相同,只是会更频繁地更新。

      您可以使用每 x 秒 ping 服务器的 ajax 调用,一旦停止,您就会知道他们最多在 x 秒前离开。 p>

      类似的选择是使用WebSockets 或 Flash 来保持与服务器的套接字连接,并在套接字连接断开时将它们标记为已注销。

      这两个选项都比会话和 cookie 更难扩展。

      【讨论】:

        【解决方案3】:

        问题非常混乱和模棱两可。

        不,您不能“ping”用户。您可以 ping 一个 IP 地址 - 但您在服务器上看到的 IP 地址可能不会与用户一对一地映射。

        哪个用户?所有用户?为什么?你将如何处理这些信息?你有比“我不想”更好的理由不使用会话数据吗?

        “我知道实时分析能够” - 那么你必须知道他们使用的方法 - 或者你只是在购买销售说话?

        【讨论】:

        • 我不认为这是模棱两可的。也许对于专家来说措辞并不完美,但他所问的基本概念就在那里。他收到了3个类似的答案,也就是说人们理解了这个问题。我想你也明白了。我认为这个“答案”中的居高临下的语气是不必要的。否则,我认为您的后续问题完全有效,尽管更适合 cmets。
        • 我们只想知道用户是否仍然在我们的网站上活跃。没有其他内容被存储。
        【解决方案4】:

        我想获取“实时”数据的唯一方法是使用网络套接字。

        另一种不太准确(延迟)的方法是使用重复的 ajax 调用。比如说每 60 秒 1 次。

        【讨论】:

          猜你喜欢
          • 2018-01-03
          • 1970-01-01
          • 2011-02-05
          • 1970-01-01
          • 1970-01-01
          • 2020-11-29
          • 1970-01-01
          • 2023-03-17
          相关资源
          最近更新 更多