好像很难解决这个问题,你很难区分一个人正在看你站上的一篇长文或是离开吧
现在通用的方法就是删除在线列表中一定时间内没有响应的用户。这个时间取值也值得考虑,长了会超过实际值,短了会低于实际值。由于实际在线人数本身就不确定(正如我上面说的,你不知道浏览者在干什么),所以不太好确定。
arhui的办法我在我的留言本上这样做过,但是也不能提供准确的在线列表。减少这个刷新间隔可以更接近实际值,但是如果太小会让用户产生疑惑(这个网站在偷偷干什么?

)。我的做法是在 session 超时之前刷新一次,并让用户自行决定是否启用这个功能