Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    ajax mi prende quasi il 100% della CPU

    ciao a tutti
    ho sviluppato una chat che utilizza xmlhttprequest in congiunta con php e mysql.

    Ho un paio di domande al quale non riesco a trovare una risposta; o meglio, immagino che sia quello ma non ne sono sicuro.

    La mia chat è composta da 3 files:
    1) chat.php (si incarica di crearmi il form di invio messaggio più altri controlli)
    2) XmlHttpRequest.js (si incarica di ricevere e spedire le richieste al file php e di stampare il risultato nel div interessato)
    3) handleChat.php (mi preleva i dati dal db e li restituisce al file XmlHttpRequest)

    Gli utenti sono memorizzati nel db, come anche i messaggi da loro scritti.

    Adesso....
    La chat non è ancora finita, ma le basi sono finite e così com'è funziona come chat base.

    Prima domanda:
    Quando avvio la pagina ed inizio ad utilizare la chat, mi accorgo che mi utilizza il 100% della CPU e occupa una bella fetta di RAM.

    Presumo che questo sia dovuto al continuo richiamo di due funzioni che si chiamano a vicenda per controllarmi se ci sono nuovi messaggi. Una funzione chiama il file php che interroga il db e mi ritorna i risultati, per poi chiamare il settimeout.

    Seconda domanda:
    Ho aggiunto al tag body la funzione onunload, che richiama window.open, che a sua volta mi apre uno script php che ha il compito di cancellare dal db l'utente che ha appena lasciato la chat per poi chiamare l'evento javascript window.close().
    Il problema è che con un pc la cosa mi funziona, ma con altri no, e non capisco il perchè.

    Di seguito trovare il link al codice dei tre file.
    1) chat.php
    1) XmlHttpRequest.js
    1) handleChat.php

    Vi ringrazio in anticipo per il vostro aiuto.
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

  2. #2
    Ho risolto il problema della CPU.
    Era una funzione creata per far scrollare la barra di destra in basso in modo automatico.
    La chiamavo da una funzioneche si richiamava ogni 2 secondi, quindi per ogni 2 secondi c'era la funzione scrolla che a sua volta si ripeteva ogni secondo, quindi potete immaginare ...

    Ma non ho ancora risolto il problema dell'evento unonload..
    qualche aiuto ?
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

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 © 2025 vBulletin Solutions, Inc. All rights reserved.