亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASPNET中實現在線用戶檢測(使用后臺守護線程)

2024-05-04 11:06:29
字體:
來源:轉載
供稿:網友

以下是我的類文件,

//online.cs(用戶在線檢測)
/*程序實現思路:

該用戶有以下幾個屬性:
name:用戶名
sessionid:用戶id,通過它唯一表示一個用戶
iswhere :附加信息,用戶當前所在位置
lasttime:用戶登陸時間
curtime:本次刷新時間

在客戶端,使用一個iframe,裝載一個刷新頁面,每隔xx秒更新一下他的名字對應的curtime,就表示他仍然在

在服務器端,建立一個守護線程,每隔固定時間就運行一遍,然后判斷當前所有用戶列表中的時間間隔是否超出了
規定的時間,如果超出,則將該用戶從在線列表中刪除,這樣就可以做到檢測用戶是否在線了,而如果再單獨
寫個用戶離線后的處理,就可以解決好多人問到的:用戶意外吊線后的處理。

*/

#define _debug

namespace soholife
{
    using system;
    using system.data;
    using system.data.sqlclient;
    using system.collections ;
    using system.threading ;
    using system.web;
    using system.diagnostics;
    
    
    //定義了一個結構
    public struct user
    {
        public string name;
        public datetime lasttime;  
        public datetime curtime;
        public string sessionid;
        public string iswhere;
    }
    
    //定義在線用戶類
    public class onlineuser
    {
        private static arraylist _alluser ;        //定義用戶
        
        public arraylist alluser
        {
            get{return _alluser;}
            set{_alluser=value;}
        }
        
        public onlineuser()        //構造函數
        {
            if(_alluser==null)
            {
                _alluser=new arraylist();    
            }
        }

           //功能說明:將當前用戶加入在線列表
        //如果該用戶的數據當前仍然在在線列表中,則暫時先不讓該用戶登陸,提示用戶存在
        public bool  addusertoonline(user user)
        {
            //需要先判斷用戶是否已經在用戶列表中了
            if(_alluser==null)
            {
                _alluser.add(user);
                return (true);
            }
            else
            {
                for ( int i = 0 ; i < _alluser.count ; i ++)
                {
                    //循環判斷用戶是否已經存在
                    soholife.user tempuser = (soholife.user)_alluser[i] ;

                    if(tempuser.sessionid.equals(user.sessionid) && tempuser.name.equals(user.name))
                    {
                        return(false);    //用戶已經存在,則直接退出
                    }
                  }
                   _alluser.add(user);
                return (true);
            }
        }  
        
        //功能說明:判斷某用戶是否在線,本部分暫時不用
        //返回值:true代表在線,false不在
        public  boolean isuseronline(string name)
        {
            //需要先判斷用戶是否已經在用戶列表中了
            if(_alluser==null)
            {
                return (false);
            }
            else
            {
                for ( int i = 0 ; i < _alluser.count ; i ++)
                {
                    //循環判斷用戶是否已經存在
                    soholife.user tempuser = (soholife.user)_alluser[i] ;
                    if(tempuser.name.equals(name))
                    {
                        return(true)    ;
                    }
                  }
                return (false);
            }
        }
        
        //功能說明:更新用戶在線時間
        //返回值:最新的在線用戶列表
        public boolean checkuseronline(string name)
        {
            //需要先判斷用戶是否已經在用戶列表中了
            if(_alluser!=null)
            {
                for ( int i = 0 ; i < _alluser.count ; i ++)
                {
                    soholife.user  tempuser = (soholife.user)_alluser[i] ;
                    //先判斷當前用戶是否是自己
                    if(tempuser.name.equals(name))
                    {
                        //更新用戶在線時間
                        tempuser.curtime=datetime.now;
                        alluser[i]=tempuser;
                        return(true);
                    }
                  }
            }
            return(false);
        }
    }
    
    
    
    /*
    下面開始建立守護線程類:
    (注:此處,開始寫的時候本來想做成單件模式的,不過由于以前沒有做過這個東西,所以反而發生
    了很多問題,最后決定放棄而使用現有的格式,不過,剛才從開心那里有對單件有個認識,晚上回去
    會再去用用它寫另一種模式 )
    */
    public class checkonline
    {
        const int delay_times = 5000 ;                //定義執行的時間間隔為5秒
        const int delay_seconds=30;                    //將用戶掉線時間設置為30秒
        
        private thread thread ;                        //定義內部線程
        private static bool _flag=false;                    //定義唯一標志
        
        public checkonline()
        {
            if (!_flag)
            {
                _flag= true;
                this.thread = new thread(new threadstart(threadproc)) ;
                thread.name = "online user" ;
                thread.start() ;
               }
        }
        
        
        internal void threadproc()
        {
            while(true)        
            {
                soholife.onlineuser temp=new soholife.onlineuser();        //定義一個用戶對象
                   for (int i=0 ;i< temp.alluser.count;i++)
                {
                    user tmpuser=(user)temp.alluser[i];
                    //我是將該用戶的最新時間加上80秒,然后和當前時間比較,小與當前時間,
                    //則表示該用戶已經吊線,則刪除他的記錄
                    if(tmpuser.curtime.addseconds(delay_seconds).compareto(datetime.now)<0)    
                    {
                        temp.alluser.removeat(i);
                    }
                }
                thread.sleep(delay_times) ;
                
            }
        }
    }
}





編譯語句為:csc /t:library /out:../bin/online.dll /r:system.dll online.cs
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩亚洲精品视频| 亚洲已满18点击进入在线看片| 欧美一级在线亚洲天堂| 中文字幕在线观看日韩| 97精品国产97久久久久久| 国产精品视频精品视频| 久久亚洲私人国产精品va| 国产日韩欧美自拍| 国产精品青草久久久久福利99| 孩xxxx性bbbb欧美| 欧洲美女免费图片一区| 日韩电影免费在线观看中文字幕| 欧美激情喷水视频| 国产高清视频一区三区| 国产精品久久久久999| 中文综合在线观看| 久久亚洲国产成人| 久久国产精品久久久久久| 亚洲午夜国产成人av电影男同| 亚洲第一天堂无码专区| 久久久久久这里只有精品| 亚洲国产精品电影| 亚洲激情中文字幕| 欧美性猛交xxxx乱大交极品| 欧美日韩国产第一页| 国内精品模特av私拍在线观看| 欧美大奶子在线| 热久久视久久精品18亚洲精品| 日韩av色综合| 亚洲精品98久久久久久中文字幕| 亚洲毛茸茸少妇高潮呻吟| 91精品国产99久久久久久| 久久影院模特热| 久久精品亚洲国产| 亚洲男人的天堂在线播放| 国产精品欧美激情在线播放| 国产性猛交xxxx免费看久久| 国产视频自拍一区| 国产精品久久久久久久久粉嫩av| 欧美成人精品一区二区三区| 精品调教chinesegay| 国产精品香蕉国产| 亚洲成av人乱码色午夜| 午夜精品一区二区三区在线视| 一区二区三区国产在线观看| 国自在线精品视频| 2021久久精品国产99国产精品| 欧美在线视频在线播放完整版免费观看| 日本一区二区三区四区视频| 国产精品久久激情| 欧美黑人一级爽快片淫片高清| 日韩欧美在线网址| 欧美精品成人在线| 欧美人交a欧美精品| 国产精品第一区| 久久久国产在线视频| 98精品在线视频| 日韩女优在线播放| 精品国产91久久久久久| 欧美日韩综合视频网址| 欧美电影在线播放| 久久久久亚洲精品国产| 亚洲国产精品va在线| 日本精品一区二区三区在线| 成人激情在线播放| 国产精品久久久久久久久久免费| 成人国产在线视频| 午夜精品福利在线观看| 尤物99国产成人精品视频| 日韩中文字幕在线看| 欧美日韩亚洲系列| 国产成人精品日本亚洲专区61| 亚洲国产成人精品电影| 亚洲成色999久久网站| 欧美亚洲国产视频| 欧美中文字幕视频| 国产精品69精品一区二区三区| 国产精品爽爽爽| 色综合91久久精品中文字幕| 成人性生交大片免费看视频直播| 久久久久久69| 欧美亚洲一级片| 欧美国产亚洲精品久久久8v| 欧美第一黄色网| 国产亚洲aⅴaaaaaa毛片| 亚洲人午夜精品| 黑人巨大精品欧美一区二区一视频| 中文字幕欧美国内| 欧美中文字幕视频在线观看| 日韩经典中文字幕| 亚洲伊人成综合成人网| 国产美女主播一区| 国产精品电影网站| 日韩电影免费在线观看| 欧美激情一二区| 亚洲欧美日韩图片| 777精品视频| 久久91亚洲精品中文字幕| 性色av香蕉一区二区| 久久成人一区二区| 亚洲一区二区久久久| 欧美一级淫片播放口| 亚洲色图17p| 国产成人在线精品| 国产成人福利夜色影视| 国产午夜精品免费一区二区三区| 亚洲电影免费观看高清完整版| 亚洲第一页在线| 欧洲午夜精品久久久| 亚洲欧美日韩综合| 九九久久久久久久久激情| 久久影视电视剧免费网站清宫辞电视| 国内精品久久影院| 亚洲精品视频中文字幕| 亚洲精品自在久久| 国产精品久久久久久久久久久久| 亚洲视频在线观看| 亚洲片在线资源| 国产在线98福利播放视频| 亚洲第一色中文字幕| 欧美日韩另类字幕中文| 亚洲精品国产精品国产自| 国产精国产精品| 国产69精品久久久| 日韩精品中文在线观看| 久久久免费在线观看| 精品伊人久久97| 亚洲自拍另类欧美丝袜| 国产精品免费看久久久香蕉| 成人福利网站在线观看11| 亚洲欧美日韩在线高清直播| 国产亚洲精品一区二555| 日韩高清电影免费观看完整| 亚洲精品视频中文字幕| 国产精品一二三视频| 成人两性免费视频| 日韩少妇与小伙激情| 日本a级片电影一区二区| 动漫精品一区二区| 亚洲一区二区福利| 欧美激情精品久久久久久免费印度| 久久视频这里只有精品| 国产成人精品午夜| 亚洲黄色成人网| 国产成人精品电影| 亚洲毛片一区二区| 日韩理论片久久| 久久久亚洲欧洲日产国码aⅴ| 欧洲成人在线观看| 26uuu久久噜噜噜噜| 亚洲精品中文字| 成人激情视频在线观看| 成人黄色网免费| 亚洲成人网在线| 欧美性xxxxx极品娇小| 国产视频精品免费播放| 91美女福利视频高清| 欧美久久精品午夜青青大伊人| 欧洲美女免费图片一区| 日韩麻豆第一页| 欧美日韩中文在线观看| 国产精品人成电影在线观看| 国产女精品视频网站免费| 91影院在线免费观看视频|