婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > asp實現一個統計當前在線用戶的解決方案

asp實現一個統計當前在線用戶的解決方案

熱門標簽:滴滴地圖標注上車點 外呼系統怎么話費 宿州防封外呼系統平臺 高質量的電銷外呼系統 電銷機器人采購 友邦互聯電銷機器人違法嗎 無營業執照地圖標注教學 硅基電話機器人加盟 地圖標注還可以做嗎
一個統計當前在線用戶的解決方案

在做一個在線交流的網站時,有個問題很令我頭疼,就是關于實時統計在線用戶的問題,客戶要求:統計當前在線人數、游客人數、會員人數、在線用戶列表,包括游客、會員和管理員(如果是游客,則自動生成游客的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上調試通過,由于本方案對系統要求比較大,期待其他朋友拿出更好的方案,一起解決這個問題!
您可能感興趣的文章:
  • ASP制作在線人數統計實例
  • 統計有多少行JS代碼和ASP代碼
  • ASP程序代碼執行時間統計類
  • asp論壇在線人數統計研究
  • 實現ASP程序執行時間統計類的代碼
  • ASP訪問數量統計代碼
  • asp.net aspnetpager分頁統計時與實際不符的解決辦法
  • asp.net中調用Office來制作3D統計圖的實例代碼
  • ASP.net中網站訪問量統計方法代碼
  • php模仿asp Application對象在線人數統計實現方法
  • 四步完成asp網頁設計流量統計

標簽:江門 新余 儋州 七臺河 宣城 雅安 錫林郭勒盟 廣元

巨人網絡通訊聲明:本文標題《asp實現一個統計當前在線用戶的解決方案》,本文關鍵詞  asp,實現,一個,統計,當前,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp實現一個統計當前在線用戶的解決方案》相關的同類信息!
  • 本頁收集關于asp實現一個統計當前在線用戶的解決方案的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 和顺县| 辽中县| 琼中| 龙川县| 江孜县| 彩票| 汶上县| 板桥市| 铜川市| 盐山县| 麦盖提县| 元谋县| 乌兰浩特市| 罗山县| 五家渠市| 方山县| 永昌县| 称多县| 金川县| 西林县| 武胜县| 靖江市| 临朐县| 延边| 商水县| 乌拉特前旗| 邯郸市| 琼结县| 岳阳市| 长子县| 安塞县| 满洲里市| 长沙市| 会理县| 聂拉木县| 公主岭市| 铜川市| 门头沟区| 昌图县| 临颍县| 新疆|