【问题标题】:Is there a way to detect users are on the same page? [closed]有没有办法检测用户是否在同一页面上? [关闭]
【发布时间】:2011-12-29 05:16:53
【问题描述】:

我正在尝试找到一种方法来让页面“收听”用户正在直播的内容。例如,假设两个用户将要访问同一个页面。当第一个用户到达该页面时,他的名字将出现。然后,当下一个用户访问该页面时,他会看到第一个用户的姓名,其姓名在其下方。当一个人离开时,他们的名字就消失了。我该怎么办?我目前在我的网站上使用 PHP 和 JavaScript。

【问题讨论】:

  • 您首先必须将每个用户的 IP 地址存储在数据库或临时文件中。
  • IP 地址是不是唯一的用户 ID,有一种叫做 NAT 的东西!

标签: javascript ajax


【解决方案1】:

Jarrod 是正确的,仅 IP 是不够的。我还想指出,仅 JavaScript 也不足以做到这一点。我能想到的最好的办法是让 PHP 根据会话返回所有经过身份验证和活动的用户的列表。然后,您可以在客户端设置一个脚本来轮询您编写的后端脚本,并使用提供的列表刷新页面的某些部分。有关 PHP 用户会话的详细信息,请参阅:Looping Through All a Server's Sessions in PHP

【讨论】:

    【解决方案2】:

    除非你能检测到他们何时离开,否则你无法做你想做的事。即使有后端支持,您也不会知道他们离开了,除非您可以捕获卸载事件并将其传递到服务器。然后你仍然不知道他们何时使用后退按钮重新进入。如果您确实提出了某种可靠的连续轮询(不太可能),那么服务器和带宽负载将是巨大的。

    最好的结果是最近访问者的列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 2018-09-15
      • 2019-09-25
      相关资源
      最近更新 更多