webForumDet fria alternativet

Hålla aktuell lista med online-anslutna

ASP

4 svar · 344 visningar · startad av sinned

Medlem sedan aug. 200237 inlägg
Frågan#1

Håller på med ett chat-program. Har ett problem med inloggade användare som lämnar sidan utan att logga ut. Eftersom jag har en besökslista med de som är online så vill jag ha den så aktuell som möjligt. Undrar om det finns någon väl beprövad metod. Jag har nu en post per användare (ACTIVE) som används för uppdatering av sidan över aktiva användare. Så om användarna loggar ut utan att utföra logout-funktionen så blir de kvarliggande i databasen som aktiva.

Mina egna funderingar för tillfället är att ha en Application-variabel som TIMER som efter ungefär en gång varje minut söker igenom vilka användare som står aktiva i databasen men inte uppdaterats under tiden och logga ut dom. Rent funktionsmässigt fungerar det men lite osäker om hur mycket detta kommer att belasta servern, så min fundering är om det finns något bättre sätt att hålla en aktuell användarlista?

:) Dennis

Medlem sedan dec. 20003 887 inlägg
#2

Det kan nog gå att lösa i Session_OnEnd. Så om användaren sticker från sidan, så ser du till att uppdatera användarens Activestatus när sessionen löper ut.

Medlem sedan juli 20015 107 inlägg
#3

Engine^ skrev:

Det kan nog gå att lösa i Session_OnEnd. Så om användaren sticker från sidan, så ser du till att uppdatera användarens Activestatus när sessionen löper ut.

Kan väl tillägga att det gäller Global.asa som du beskriver antar jag!?

Hanyway om du inte har tillgång till Global.asa, så kan du köra två kolumner i databasen! en som heter "Status" och en som heter "Tid" när du loggar in på sidan så ändrar du status till "online" och uppdaterar tabellen "tid" med now(), sen så på varje sida som uppdateras hela tiden så uppdaterar du tabellen Tid med now() och samtadigt kör "Datediff" för att göra om alla "tid" som är äldre än t.ex 20 minuter till Offline! på såsätt så kan du hålla reda på dem som e online offline! sticker du från sidan och din tid blir äldre än 20 minuter så flaggar någon av dej som Offline!

Are you feeling me?

- Fred ut

R:/ självklart är man seg och inte läste hela inlägget :r där du själv beskrev min metod :r sry

Medlem sedan aug. 200237 inlägg
#4

Session_OnEnd ( global.asa )

Är det inte så att alla användarens Session:s är borta när man kommer till Session_OnEnd i global.asa? Då har man ju ingen aning om vilken användare som avslutade?

:) Dennis

Medlem sedan juli 20015 107 inlägg
#5

Det går att lösa Session_OnEnd! OveRRide har gjort en liten FAQ Här

hoppas den hjälper!

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)