Avatar billede kasim Nybegynder
09. januar 2008 - 14:11 Der er 8 kommentarer

2dchat ajax update

hej jeg har en 2dchat lavet i php, men den blinker hver gang når den opdater, jeg har læst lidt ajax, men ved stadig ikke hvordan jeg skall lave det...

Jeg håber at en kan hjælpe her..

jeg har prøvet med den her kode, men den opdater rigtig meget langsomt:

<script type="text/javascript">
<!--
var xmlHttp
function refreshMoveSystem() {
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null) {
        alert ("Din browser understøtter ikke denne chat.");
        return;
    }
    var url="move_system.php";
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}
function stateChanged() {
    if (xmlHttp.readyState==4) {
        document.getElementById("move_system").innerHTML=xmlHttp.responseText;
        setTimeout ("refreshMoveSystem();", 1000);
    }
}
function GetXmlHttpObject() {
    var xmlHttp=null;
    try {
        xmlHttp=new XMLHttpRequest();
    } catch (e) {
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}
function MoveField(num) {
    if(num >= 0 && num <= 24) {
        location.href = 'client.php?f='+num;
    } else {
        refreshMoveSystem();
    }
}
setTimeout ("refreshMoveSystem();", 1000);
-->
</script>

<div id="move_system"></div>
Avatar billede flushout Nybegynder
10. januar 2008 - 00:38 #1
Det går nok langsomt fordi du har sat en timeout på 1000 millisekunder (1 sekund) mellem hvert kald:

quote: 'setTimeout ("refreshMoveSystem();", 1000);'

Hvis du absolut skal bruge setTimeout, vil jeg forslå at sætte den til måske 10 millisekunder istedet :-)
Avatar billede flushout Nybegynder
10. januar 2008 - 00:41 #2
hovsa.. jeg har vist misforstået dit spørgsmål. Ignorer meddelelsen herover :p
Avatar billede kasim Nybegynder
10. januar 2008 - 18:36 #3
ok ;)
Avatar billede jens12 Nybegynder
10. januar 2008 - 22:53 #4
Hvordan ser hele dit script ud ?
Avatar billede olebole Juniormester
10. januar 2008 - 22:55 #5
<ole>

Det er ikke den kode, du viser her - og som i øvrigt ikke har meget med Ajax gøre - der er langsom. Problemet ligger i din serverkode

/mvh
</bole>
Avatar billede olebole Juniormester
10. januar 2008 - 22:58 #6
- men hvis du poller serveren hvert sekund fra mange brugere - og hvergang skriver HTML ud på serveren - skal det naturligvis blive langsomt.

Må jeg forsigtigt gætte på, du oven i købet bruger stjerner (*) i dine DB-kald - og ikke har indekseret dine tabeller? Er det tilfældet, _skal_ det helt naturligt performe elendigt  ;o)
Avatar billede kasim Nybegynder
13. januar 2008 - 16:48 #7
fatter ikke en skid... :(
Avatar billede olebole Juniormester
13. januar 2008 - 17:06 #8
Så er det nok derfor, du har problemer med hastigheden. Det at skrive chat-applikationer kræver, man er på absolut 'haj-niveau' i HTML, JavaScript, DOM, CSS og det serversprog, man skriver i - samt det dertil hørende databasesprog
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester