⑴ Web網站檢測是否在線
Web網站檢測沒有在線。
用戶打開瀏覽器登陸某爛配網站時,會在伺服器端生成session id。用戶關閉瀏覽器時該session id不會被立刻釋放,而如果此時用戶打開瀏覽器重新登陸網站,會被分配一個新的session id。如果用戶瀏覽網頁期間發生斷網瞎洞等現象,網路恢復正常之後瀏覽器端仍然使用原飢神指session id。
⑵ C#webfrom+sql2005如何實時判定用戶在線
由於http協議是無狀態的,所以每次客戶端提交請求後,不會和伺服器保持連接。 伺服器也不知道客戶端的狀態。
要實現這種功能,一般是使用web中的session機制,即每個新用戶訪問伺服器後,系統會給這個用戶生成一個session,默認超時時間為20分鍾,即用戶在20分內無請求,系統即認為用戶已離開,用戶超時後再訪問系統,系統會重新生成一個新的session。
所以,你只要判斷當前用戶的session是否存在即可。
if(Session["Online"]!=null)
//在線用戶
else
//新用戶
使用session的要求之一是用戶客戶端的瀏覽器的cookie功能正常,因為系統生成session後會把SessionID發給用戶,用戶在以後的每次提交時都要把這個SessionID再提交給伺服器,以告知伺服器我是上次獲取了Session的那個人。培宴所以當客戶端瀏覽器清空了cookie時,也會導致用戶的session失效。
補充:
只有用戶在默認的20分有請求,系統才認為用戶是在線的,你用戶在那裡無請求操作,那系統等了20分鍾,就認為你離開了。
1,你可以延長Session時間,但會更多的消耗伺服器資源,一般不這樣做。
2,你可以把用戶的登陸用戶名密碼寫在客戶端的cookies中,這樣當用戶過了20分鍾超時後再訪問你襲中橘的站點,你就判斷客戶端是否發送來cookies數拍團據,如果有,那就用這個cookies 裡面的賬號幫用戶自動登陸。這個時候實際上,系統還是重新生成了一個新的session,但用戶察覺不到,以為是上次登陸後自己一直在線的。 ——這種也是目前各種網站的主要做法。
if(Session["Online"] == true)
//在線用戶
else
if(Request.Cookies["UserAccount"]!=null)
{
//幫用戶登陸
//........
//寫cookies
Response.Cookies["UserAccount"] = "xxx";
Response.Cookies["UserAccount"].Expires = //cookies有效期;
Session["Online"] = true;
}
else
{
//跳到登陸頁面
}
⑶ JavaWeb開發網站,監測用戶在線狀態
用session超時的特點來實現
1.用戶登錄,session生成 用戶在線
2.用橋嘩戶機器斷電。一定時間(這個怎麼設置我就不講了,地球人應該都知道)後session超豎消野時 通過session監聽器實現 用戶下線
3.用戶退出 用余喊戶下線
⑷ java 做web 聊天,如何判斷用戶下線
可以隔一段時間檢查一下session,及時的更新List<User>中的信息,也就是隔一段時間清除掉List<User>中的信息,同時再把session中的user添加到List<User>中,就可以知道那些用戶下線了,並且從List<User>中刪除這個user。