六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

一個統計當前在線用戶的處理方案

[摘要]在做一個在線交流的網站時,有個問題很令我頭疼,就是關于實時統計在線用戶的問題,客戶要求:統計當前在線人數、游客人數、會員人數、在線用戶列表,包括游客、會員和管理員(如果是游客,則自動生成游客的ID,如果是會員,則顯示會員姓名)。因為它要求有實時性,則首先我將用global.asa解決的想法pass...
在做一個在線交流的網站時,有個問題很令我頭疼,就是關于實時統計在線用戶的問題,客戶要求:統計當前在線人數、游客人數、會員人數、在線用戶列表,包括游客、會員和管理員(如果是游客,則自動生成游客的ID,如果是會員,則顯示會員姓名)。因為它要求有實時性,則首先我將用global.asa解決的想法pass掉。
問題的關鍵是如何判斷用戶已經離開,和當用戶離開時如何執行一個文件或一個函數。
經過和網上一些朋友的探討,終于解決了這個問題。
解決的原理為:編寫一個通用頁面,所謂的通用頁面,就是應用里的每個頁面都包含這個頁面,例如:header.asp,在這個頁面里,用XMLHTTP寫一段代碼,這段代碼的作用是每隔10秒或20秒就向服務器發送一個請求,目的是更新當前用戶的在線時間并刪除在線時間超過一定時間的用戶,使數據庫中的在線用戶記錄保持一定的實時性。
主要實現方法為:
新建一數據庫,字段名稱分別為:id(字符),name(字符),user(數字)tt(日期),admin(權限代碼,0-普通用戶,1-管理員)
表名:online
header.asp ↓
============================================================
<%
... ...
if session("s_in")<>1 and session("s_name")="" then ’如果用戶是第一次登陸
rs.open "select * from online",conn,3,3
rs.addnew
rs("id")=session.sessionID
rs("name")="游客" & session.sessionID
rs("user")=0 ’0表示用戶未登陸,是游客身份
rs("tt")=now
rs.update
rs.close
session("s_in")=1 ’設置用戶的資料已經存入數據庫,表示已經在線
end if
if session("s_name")<>"" then ’如果用戶已經通過登錄框登錄
rs.open "select * from online where id=’" & session.sessionID & "’",conn,3,3
rs("name")=session("s_name")
rs("admin")=session("s_admin") ’將用戶的姓名更新為會員名稱
rs("user")=1 ’表示用戶已經登陸,是會員身份
rs("tt")=now ’將當前系統時間設置為用戶的登陸時間
rs.update
rs.close
end if
... ...
%>
... ...
<head>
... ...
<script language=javascript>
function Test()
{
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlhttp.open("POST","onceonline.asp",false); // 向onceonline.asp發送更新請求
xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlhttp.send();
}
setInterval("Test();",10); // 10秒鐘發送一次更新請求
</script>
... ...
</head>
... ...
==========================================================
onceonline.asp
<%
rs.open "select tt from online where id=’" & session.sessionID & "’",conn,3,3
rs("tt")=now() ’更新當前在線用戶的在線時間
rs.update
rs.close
rs.open "delete from online where datediff(’s’,tt,now())>60",conn,3,1 ’刪除超時用戶
%>
==============================================================
這樣,基本保證了數據庫中用戶列表的實時性,誤差取決于更新時間和刪除時間的差值大小和服務器的處理速度,建議不要將刪除超時用戶的時間間隔取的過于小,那樣有可能會導致在線用戶0人的失誤。
本方案在WIN2000+SQL Server2000上調試通過,由于本方案對系統要求比較大,期待其他朋友拿出更好的方案,一起解決這個問題!



主站蜘蛛池模板: 奇米第四色888 | 四虎最新网站 | 日韩 欧美 中文字幕 不卡 | 一本大道香蕉久97在线视频 | 午夜亚洲一区二区福利 | 日韩城人视频 | 天堂网在线观看 | 日本aⅴ在线不卡免费观看 日本aⅴ在线 | 欧美一区不卡二区不卡三区 | 亚洲主播自拍 | 全免费a级毛片免费看不卡 全黄一级片 | 亚洲精品美女在线观看 | 午夜看片网站 | 天堂资源在线最新版 | 四虎国产精品影库永久免费 | 亚洲综合色丁香婷婷六月图片 | 一区小说二区另类小说三区图 | 夜间免费视频 | 亚洲欧美日韩在线观看二区 | 在线精品免费观看综合 | 日产精品卡二卡三卡四卡乱码视频 | 五月婷婷久久综合 | 欧美亚洲国产激情一区二区 | 清清草视频| 在线视频欧美亚洲 | 天堂网在线www资源网 | 日韩欧美福利 | 中文字幕一精品亚洲无线一区 | 污污的视频在线免费观看 | 五月婷婷之综合激情 | 四虎影院大全 | 手机看片毛片 | 日韩福利在线 | 一二三四视频中文字幕在线看 | 四虎影免看黄 | 呦呦国产| 夜夜爽天天狠狠九月婷婷 | 青草青草久热精品视频在线观看 | 亚洲六月丁香六月婷婷花 | 五月婷婷六月爱 | 晚上正能量91香蕉 |