Anzeige:
Ergebnis 1 bis 7 von 7

Thema: ein timeout in PHP

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.04.2005
    Beiträge
    52

    ein timeout in PHP

    hi,
    wie kann ich es machen, das eine funktion erst nach einer bestimmten zeit ausgeführt wird?
    (wie window.SetTimeout("funktion()"); in javascript, nur das ich es in PHP brauche.)

    danke für antworten.

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    sleep()

    Jedoch ergibt dies keinen oder wenig Sinn
    PHP ist eine Serverseitige Script-Sprache, das heißt das du erst die Ausgabe bekommt wenn das ganze Script abgearbeitet wurde.
    Was genau willst du machen?
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  3. #3
    Registrierter Benutzer Avatar von ExRevel
    Registriert seit
    08.11.2004
    Ort
    Stuttgart
    Beiträge
    33
    Genau erkannt, in JavaScript ist das gut möglich doch in PHP verbietet das die Logik schon irgendwie.

    ciao
    The CodeWars Project (Coding Contest for AI Buffs)

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.04.2005
    Beiträge
    52
    ich wollte ursprünglich ein browser-game machen, was aber in echtzeit leuft, also ohne ständiges neuladen.
    dafür brauche ich eine permanente datenübertragung zwischen server(PHP) und client(javascript).
    allerdings wollte ich auf dem server keine endlose schleife machen,
    da dies zu viel überflüssige rechenleistung in anspruch nimmt.
    Code:
    while()
    {
    if(neue_daten_da())
    {echo "var new=".$neue daten.";";}/*wird in javascript auf dem client bearbeitet*/
    }
    besser könnte man es so machen:
    Code:
    function senden()
    {
    if(neue_daten_da())
    {echo "var new=".$neue daten.";";}
    setTimeout("senden()",5000);//die funktion nach der ich gefragt hab
    }
    wovon ich aber noch nicht gehört habe,
    ist das das ergebniss erst nach dem beenden des PHP-scripts
    zum client gesendet wird.
    denn erstens funktioniert es auf worldtalk.de genauso,
    und zweitens habe ich schonmal nen versuch gemacht:
    test.php:
    Code:
    <?php
    
    while()
    {echo "hallo
    ";}
    
    ?>
    ergebniss:
    Code:
    hallo
    hallo
    hallo
    hallo
    hallo
    hallo
    hallo
    hallo
    hallo
    ...
    die seite wurde nie zuendegeladen, und es waren 62.565.198.151.642 hallo's drinne , und es wurden immer mehr.
    also wird das ergebniss NICHT erst am ende des scripts zum client gesendet,
    sondern dann wenn er auf das 'echo "hallo";' trifft.

  5. #5
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    wovon ich aber noch nicht gehört habe,
    ist das das ergebniss erst nach dem beenden des PHP-scripts
    zum client gesendet wird.
    denn erstens funktioniert es auf worldtalk.de genauso,
    und zweitens habe ich schonmal nen versuch gemacht:
    Dann halte dich an den Verein

    Generell was du vor hast kannst du vernünftig mit Sockets regeln
    Wobei mir nicht bekannt ist das man mit Javascript und Sockets arbeiten kann, Flash, Java mit PHP-Socket ja.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo GU4RDI4N,

    dir kann evt. das von modernen Browsern unterstützte "XML HTTP Request"-Objekt helfen.

    Damit kannst du per Javascript HTTP Requests auf andere Dateien durchführen und dann das Ergebnis(z. B. XML) "onthefly" verarbeiten.

    Auf dieser Seite findest du eine Erklärung:
    http://jibbering.com/2002/4/httprequest.html

    Ein paar Beispiele mit JSPAN gibt es hier:
    http://jpspan.sourceforge.net/examples/

    JSPAN ist ein Tool zur einfachen Entwicklung von webbasierten Client/Server Anwendungen.

    Weitere Links:

    Konzept zur Entwicklung von Web Applikationen
    http://www.adaptivepath.com/publicat...ves/000385.php
    (S)AJAX - wie JSPAN
    http://www.modernmethod.com/sajax/index.phtml
    Schönes Beispiel

    Habe mich bis jetzt nur theoretisch mit dem Thema befasst, daher kann ich dir bei praktischen Problemen nicht viel helfen. Sollte allerdings nicht sehr kompliziert sein.

    Gruß

    nEox

  7. #7
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von GU4RDI4N
    ich wollte ursprünglich ein browser-game machen, was aber in echtzeit leuft, also ohne ständiges neuladen.
    dafür brauche ich eine permanente datenübertragung zwischen server(PHP) und client(javascript).
    Huh? nicht jeder hat 'ne FlatteRatte!
    Vorschlag: Lass den Server (php) konventionell arbeiten und den Client (Javascript/HTML) pollen.
    Halte die Datenübertragung möglichst klein und sei darauf gefasst, dass von der Javascript-Seite aus geschummelt wird.
    Identifikation kann durch session-Variable erfolgen.

    wovon ich aber noch nicht gehört habe,
    ist das das ergebniss erst nach dem beenden des PHP-scripts
    zum client gesendet wird.
    Halte ich für ein Gerücht oder Einstellungssache.
    Als ich meine Logs noch per php (yuck!) ausgewertet habe, hat er mir, obwohl das Script noch nicht durchgelaufen war, die Zwischenergebnisse schon mal dargestellt, wahrscheinlich, nachdem ein bestimmter (ziemlich fetter) Puffer vollgelaufen war.

    Wenn eot oder so was kommt, wird natürlich dieser Puffer geflusht, was dann so aussieht, als ob die Daten erst nach Beenden des Scriptes auf Reisen gehen.

    so long,
    BlueJay

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •