Diciamo che questo non è un ottimo meccanismo per la realizzazione di una chat. Considera che maggiore è il numero di byte trasmessi, maggiore è la lentezza del tuo script, quindi a che server riscrivere completamente il contenuto del div se l'utente ha gia quella roba stampata a video? Puoi provare 2 cose:
1) Indicizza il tuo file txt con dei timestamp (in microsecondi possibilmente), e fai in modo che ogni client invii al server l'ultimo timestamp ricevuto (in questo modo puoi escludere tutte le vecchie righe, ed inviare al cliente solamente quelle nuove). Successivamente appendi le nuove righe di chat all'interno del div.
2) Cambia sistema![]()
...guarda un po qui http://nodejs.org/ . Lo utilizzo attualmente in modulo sviluppato per Drupal e funziona benissimo. Un po complicato da configurare pero...
Puoi cosi implementare un server in javascript che resta in ascolto su una porta. In questo modo il browser non funge piu solo da client (cioe chiedere al webserver di inviargli le ultime righe di chat), ma puoi configurarlo di modo che non appena siano disponibili nuovi dati, essi vengano inviati a tutti i 'server' connessi. Una sorta si sistema a notifiche push.
Se poi vuoi restare fedele ad Ajax ti consiglio di implementare un sistema basto sul Long Polling -> vedi qui http://techoctave.com/c7/posts/60-si...ipt-and-jquery
![]()
![]()
![]()
![]()
![]()