Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    39

    utenti online e posizione degli utenti.

    Ciao ragazzi,
    vi scrivo per sapere la logica per la creazione sullo status degli utenti online con annessa posizione (se bacheca, chat, etc) occupano sul mio sito.
    E' un po' che ci sto pensando, pero' essendo non proprio esperto non capisco la logica, qualcuno mi puo' aiutare?

    esempio:
    pippo sul mio sito ora e' in bacheca. Sullo status degli utenti online, come faccio a definire o a far vedere che pippo si trova in bacheca?



    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    39
    non c'e' nessuno che mi puo' aiutare??

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    39
    proprio nessuno?

  4. #4
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    si puo' fare con le Application o con un DB.

    CON IL DB:
    Si tratta di creare ad esempio una colonna chiamata PaginaSuCuiSiTrovaUtente (per esempio), poi su ogni pagina con una query di Upload si aggiorna lo stato dell'utente.

    Per pubblicare chi è sulla pagina fai una query con WHERE PaginaSuCuiSiTrovaUtente ="nomepagina".

    Il tutto diventa un po' pesante, tanti update e interrogazioni al DB...

    Su un sito mediamente trafficato Access muore.


    Con la Application
    In alternativa si puo' fare con le application, pero' diventa complessa la rimozione dell'utente quando cambia pagina, pero' è molto piu' complicato rimuove un utente da una pagina. Sicuramente è piu' leggero.

  5. #5
    Ciao a tutti
    Scusatemi...in rifermento a variabili d'applicazione, c'è un modo per settare il timeout..tipo come per le sessioni: session.timeout=minti..
    grazie?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    39
    Con le Application ci avevo pensato anch'io, volevo sapere solamente se era fattibile. Nel caso in cui l'utente cambia "zona" del sito, cerchero' di inventarmi qualcosa...

    Con il db sarebbe la soluzione piu' comoda, la cosa scomoda che ci saranno una marea di UPDATE... dovrei valutare le situazione e vedere qual'e' la migliore fra le 2, forse l'application...

  7. #7
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    Ogni application è unica per tutti gli utenti di tutto il sito, quindi non esiste una sorta di timeout.

    Quando si riavvia IIS viene azzerata.

    Puoi creare X application per ogni pagina:

    Pagina_Login
    Pagina_HomePage

    ecc.

    poi in ogni pagina metti uno script che accoda l'username nella Application, a patto che non sia già presente.

    Ciclo che controllo se username è in App.
    Se non è in app allora lo inserisco


    subito dopo si fa un controllo su tutte le app di tutte le pagine e si rimuove l'username da tutte le altre app.

    Scrivendo gli username separati da ";" ad esempio, poi si possono splittare in array per rendere piu' semplice la cosa.

    Con questo sistema ti puoi gestire anche moltissimi utenti. Ovviamente la cosa si complica se devi avere tante pagine...

    a quel punto forse la cosa migliore è fare un application degli utenti in un array, e in un array parallelo o multidimensionale ti tieni la pagina su cui si trova. L'indice dell'array è l'ID utente nel database...



    quindi avrai l'array APPLICATION("utenti") = ", , , , , , HOME, , , , , FORUM, CONTATTI, , , , , " ecc. dove gli utenti non connessi non hanno la pagina valorizzata.



    In tutti i casi bisogna catturare la chiusura browser da parte dell'utente per toglierlo dalla lista.

  8. #8
    Grazie barney09, suprattutto per la chiarezza.
    Avevo già fatto ma ho abbandonato perchè non sono mai riuscito a trovare una soluzione logica con le mie scarse conoscenze.
    Quando utente si connette creavo un application con il valore dell'username( che chiaramente ho in db)
    Successivamente in ogni pagina che desideravo filtravo application in db con semplice risultato "utente online".
    Però non posso pretendere che l'utente effettui per forza logout quando lascia sito(quidi cancellare application)..consegueza (come si dice dalle mie parti) utente on line arronzato :-)

    Adesso però non capisco e non so come " In tutti i casi bisogna catturare la chiusura browser da parte dell'utente per toglierlo dalla lista."
    Ti spiace spigarmi o darmi chiavi di ricerca precise.
    PS...non mai capito bene quando si resetta IIS: ogni tot minuti o quando non ci sono più connessioni sul server.
    Ti ringrazio.

  9. #9
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    iis si resetta al riavvio del server, o per impostazione differente da parte dell'amministratore del server.

    Ogni tot minuti puo' essere effettuato un riciclo dell AppPool (area di memoria utilizzata dal sito).


    Riguardo alla chiusura del browser, è fondamentale quando un utente chiude il browser che tu lo tolga dalla variabile application. Altrimenti continuerà a sembrare connesso mentre di fatto non lo è.

    Quindi quando fa il log out, o quando chiude il browser devi rimuoverlo dalla lista degli utenti connessi.

    Oppure oltre a registrare la pagina su cui è registri anche l'ora. In quel caso ti puoi permettere di rimuovere tutti gli utenti non piu' attivi negli ultimi X minuti.

  10. #10
    Riguardo alla chiusura del browser, è fondamentale quando un utente chiude il browser che tu lo tolga dalla variabile application. Altrimenti continuerà a sembrare connesso mentre di fatto non lo è.

    Quindi quando fa il log out, o quando chiude il browser devi rimuoverlo dalla lista degli utenti connessi.

    :-) Forse sono stato poco chiaro.
    Se fa il log out è semplice...ma non ho assolutamente idea di come cancellare o riportare a volore nullo un application alla chiusura del browser...come faccio a rimuoverlo?
    Se non ti spiace darmi indicazioni e/o chiavi di ricerca precise(visto che ho già provato senza giungere a risultati).
    Grazie per la disp.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.