Ho realizzato su pagine asp, una chat con jquery: tutto funziona a meraviglia. Il plugin jquery va in stand-by automaticamente dopo qualche minuto se non viene usata la chat.
Tuttavia mi sorgono dei dubbi: per verificare quali utenti sono online, ho creato una chiamata Ajax che aggiornandosi ripetutamente con setInterval, visualizza quali e quanti utenti sono effettivamente online, andando a prelevare i nominativi da un db access (la chat funziona invece con MySql).
Prevedendo qualche centinaio di accessi giornalieri al sito, con quale intervallo di tempo sarebbe consigliabile impostare setInterval? La pagina richiamata ogni volta nel box degli utenti è di 6 kb, quindi è questo il traffico che ogni volta si sommerebbe al traffico generale del sito?
Da qualche parte ho letto che le chiamate asincrone di ajax, non influiscono nel traffico, ma non vorrei aver capito male...
Il punto è che non vorrei sovraccaricare il server: qualche chiarimento?
Grazie
Ajax
Ajax (Asynchronous JavaScript and XML) è una linguaggio di programmazione tecnico per sviluppo web
Asp
Active Server Pages
Mysql
Mysql è un tipo di database
Server
Ogni coppia hardware-software che fornisce appunto servizi ad utenti chiamati tradizionalmente clienti (clients) attraverso una rete.
plugin
O plug-in, o add-in o add-on, rappresenta una particolare applicazione aggiuntiva che ha il compito di interagire con un programma-padre (senza il quale non potrebbe funzionare) per integrarne funzioni e personalizzazioni.
JQuery
Framework per Javascript realizzato da John Resig. La caratteristica fondamentale della libreria è la manipolazione degli elementi del DOM garantendo la corretta renderizzazione con tutti i browser.
Ciao DM8,
le chiamate in ajax sono sempre delle richieste http, dunque creano traffico (logicamente minore di chiamare un'intera pagina html).
Più che sul tempo del setInterval() dovresti lavorare sull'ottimizzazione della richiesta prevedendo una sorta di cache o altro.
Ajax
Ajax (Asynchronous JavaScript and XML) è una linguaggio di programmazione tecnico per sviluppo web
HTML
HTML (HyperText Markup Language) nasce per mano di Tim Berners-Lee, il costruttore del primo webserver e del primo browser, come estensione di SGML (Standard Generalized Markup Language) nel 1990.
http
Protocollo progettato per migliorare la qualità e ottimizzare le prestazioni di sistemi distribuiti per la collaborazione e la condivisione delle informazioni. Utilizzato anche come protocollo generico nelle connessioni internet che devono attraversare strati software quali proxy e gateway.
Grazie per la risposta.
Attualmente ho suddiviso lo script: la prima parte aggiornata con setInterval, mi mostra solo il numero di utenti collegati, andando a prelevare i dati dal db. Con la seconda, richiamo sempre con ajax i nominativi effettivamente collegati (stile facebook per capirci), ma solo alla richiesta dell'utente, quindi senza refresh.
Mi hai consigliato di prevedere una sorta di cache, ma dovrebbe essere un controsenso, visto che devo offrire costantemente dei dati aggiornati.
A questo punto, penso che aggiornare la pagina che mostra il totale utenti collegati (solo 4 kb) ogni 10 secondi, sia un compromesso accettabile ed eventualmente posso sempre aumentare l'intervallo.
La cosa che mi piacerebbe capire bene, è se è la stessa cosa visualizzare con ajax la pagina con il conteggio, o far eseguire lo script della stessa pagina in background, mostrando solo il risultato.
A occhio, mi sembra la stessa cosa dal punto di vista del traffico: sbaglio?
Ajax
Ajax (Asynchronous JavaScript and XML) è una linguaggio di programmazione tecnico per sviluppo web
Quello che intendevo è che si può agire in diversi modi.
Per esempio in una chat che ho realizzato tempo fa passavo via richiesta ajax il time dell'ultima chiamata poiché in questo modo anziché ricaricare tutti i messaggi aggiungevo esclusivamente quelli nuovi.
Il traffico dipende dal peso di ciò che ti restituisce la richiesta ajax.
Ajax
Ajax (Asynchronous JavaScript and XML) è una linguaggio di programmazione tecnico per sviluppo web
Time
time è una funzione di PHP che restituisce un numero intero lungo equivalente al numero di secondi che separa la data e orario attuale del server dal 01 Gennaio 1970 00:00:00 (Unix Epoch)