php – 如何知道用户何时关闭浏览器?聊天应用程序

我有一个简单的聊天客户端设置,允许用户使用用户名登录并将他们写入的消息存储在sql数据库中.每隔3秒,数据库就会打印出所有行.所以它基本上是一个聊天客户端.

我想列出一个在线人员名单.我怎样才能做到这一点?当有人关闭浏览器时,我怎么能感觉到?

现在我正在拉用户名

$name = $_COOKIE["name"];

如果这个值是空的,我知道他们离开了.但是一旦他们离开,现在知道他们的用户名是什么已经太晚了,所以我无法跟踪究竟是谁离开了.

想法?我是php,javascript和html的新手,所以请记住:)

解决方法:

将在线用户放在一个名为’lastSeen’字段的表中,每隔几秒钟用ajax调用更新一次该字段.

ajax调用就像这样:

window.setInterval(function() {
    $.ajax({      
      url: _URL_ENGINE + "/updateLastSeen/?userid=" + userID,
      success: function(data) {

      }
    }); 
}, 2000); // 2000 means 2 seconds

现在要查询在线玩家列表你可以查询它们

select * from players WHERE lastSeen > DATE_SUB(NOW(), interval 40 SECOND) 

希望这可以帮助

上一篇:Android-使用parse和pubnub在随机聊天应用中正确配对和连接两个用户


下一篇:A - Chat Group Gym-101775A