Newsgroup: it.comp.www.asp
Titolo: Utenti connessi, aiuto.........

Ciao a tutti scusate ancora per il disturbo.
Ho fatto una chat in flash e asp per il mio sito e adesso vorrei ampliarla
facendo vedere gli utenti connessi.
Non ci avessi mai provato.
Mi sono passato due giorni a pensare in modo nevrastenico a come fare ma nn
capisco...
Allora vi spiego il problema:
    in pratica è semplice uno all'inizio della chat immette l'username che
vorrebbe usare e l'asp dovrebbe dirgli (confrontandosi con un file di
testo(user.txt) dove sono memorizzati gli utenti in linea) se l'username è
già presente oppure no.
Se non è presente allora dovrebbe aggiungere lo username al file di testo e
iniziare a chattare...
la chat non è un problema
il problema è vedere gli utenti connessi..
Qui di seguito vi allego quello che ho pensato, un abbozzo di programma e di
pensieri a riguardo.
Se qualcuno a qualche cosa di già fatto va bene lo stesso.
Grazie per avermi letto.
Ciao ciao.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Controlla che l'user_name nella pagina di accesso nn sia già presente
Se nn è presente allora
  Inserisce un nuovo utente nel file
Se è presente dice di cambiare user_name
Fine controlla user;
Inserisce un nuovo utente:
 prende l'user_name; 'non più lungo di tot (15)
 incatena anche la data e l'ora;
 mette tutto in un file di testo (magari con <br> così va a capo);
fine inserisce;
controllo user in linea:
 legge tutti i nomi nel file di testo e li inserisce in un array
 legge la data da ogni riga
 fa la differenza tra la data di adesso con quella registrata prima
 e vede:
  Se è meno di cinque minuti allora lascia li così l'utente
  se + più di 5 minuti allora cancella l'utente dal file;
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''
dichiara variabili
apri file di testo(user.txt);
leggi tutti i dati e mettili su un array;
Leggi username che si vuole immettere;
Leggi array e confronta con username (da immettere)
 Se è gia presente then
  Di di cambiare username
 se nn è presente then
  apri file di testo in scrittua
  scrivi username dentro + data e ora
  chiudi file di testo;
adesso controlla:
  DifferenzaTempo > 5 minuti then
  cancella utente dal file;
  prendi il file al x riga e cancella il relativo user;
 DifferenzaTempo < 5 minuti then
  lascia utente;
chiudi il file
'''''''''''''''''''''''
dim strUser, strFile, strLinea, arrUser(100), i, k
'Stringa è la variabile che prende da Flash con dentro il nome dell'user
stringa = Trim(Request("struser"))
' creo l'oggetto
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
'Apre in lettura il file
intTipo = 1
strFile = Server.MapPath("user.txt")
Set InStream = FileObject.OpenTextFile(strFile,IntTipo,true)
'Carica array arrUsr con i nomi degli user
Do While not InStream.AtEndOfStream
 StrLinea = InStream.ReadLine()
 i=i+1
 arrUser(i) = StrLinea
Loop
.............
...........
..........
Non so più come andare avanti.... Please, HELP ME!
Ciao e Grazie

Non ci avessi mai provato.
[cut all]
Indipendentemente da come funziona la tua chat =)
Gli utenti collegati li gestisci dal global.asa, con le variabili
session ed application. Mi spiego:
Nel global.asa puoi definire una azione quando parte una sessione
(ovvero un utente si collega all'applicazione), quindi ti basta fare
qualcosa del genere:
Quando parte una sessione:
application("utenti_connessi")=application("utenti_connessi")+1
Quando si chiude una sessione:
application("utenti_connessi")=application("utenti_connessi")-1
e nella pagina visualizzi sta variabile.
Se invece devi far vedere i NOMI degli utenti... beh, un pò +
complicato ma il principio è quello.
Ti do una traccia:
la variabile application vedila come un array di
Numero_utenti_massimo, mentre la variabile session è di 2 elementi
(Nome,Indice)
L'indice della session è la posizione del nome relativo nell'array
application.
chiaro, no? =))
--
Ciao!
Davide
[DAOC PG]Armorgod Troll Sciamano - Midgard Vortigern[/DAOC PG]