我想知道,是否有实时 ping 用户的方式,看看该用户是否仍然是唯一的。
我的网站使用 jQuery、PHP 和 CRON 作业,所以我想知道检查用户是否仍然在线的最佳方法是什么。
每个用户都会发出一个 cookie 即会话密钥,但我不想就这样过去。
我知道实时分析能够做到这一点,使用 javascript 所以我想知道我是否也可以做同样的事情。
谢谢
它可以通过来自客户端的持续 ajax 调用来完成,但不推荐。
我建议使用 flash 或类似的东西来减少对服务器的 ajax 请求数量。
您选择的任何方法都将与您提到的相同,它只会更频繁地更新。
您可以使用每x秒ping 一次服务器的 ajax 调用,一旦停止,您就会知道他们最多在x秒前离开。
一个类似的选项是使用WebSockets或 Flash 来保持与服务器的套接字连接,并在套接字连接断开时将它们标记为已注销。
这两个选项都比会话和 cookie 更难扩展。
问题非常混乱和模棱两可。
不,您不能“ping”用户。您可以 ping 一个 IP adderss - 但您在服务器上看到的 IP 地址可能不会与用户进行一对一的映射。
哪个用户?所有用户?为什么?你将如何处理这些信息?你有比“我不想”更好的理由不使用会话数据吗?
“我知道实时分析能够”——那么你必须知道他们使用的方法——或者你只是在购买销售说话?
我想获得“实时”数据的唯一方法是使用网络套接字。
另一种不太准确(有延迟)的方法是使用重复的 ajax 调用。说每 60 秒 1 次。