wie seite laden nach neustart des servers?



  • soooo... meine website ist fast fertig, aber eine klitzekleine frage habe ich noch:
    auf einer page befinden sich buttons 'reboot device', 'revert to factory settings' und 'firmware update'. die button-clicks werden per http-post aus einem formular zum server übertragen und dieser startet das gerät neu. so'n neustart dauert etwa 4...5 sekunden, in denen der server (verständlicherweise) nicht verfügbar ist. der browser allerdings möchte nach dem click das formular bzw. eine seite neu laden, was natürlich nicht sofort klappt. wie kann man das neuladen der seite nach einem click verzögern? da muss es doch einen trick geben. irgendwelche wlan-router z.b. können das ja auch...

    danke für alle tips,
    euer web-noob
    🙂



  • Indem der Reboot in einen Hintergrundprozess ausgelagert wird. Dann kann der Webserver die Antwort schicken, währen der Hintergrundprozess einen Augenblick wartet.

    Eine andere Möglichkeit bietet Ajax. Du kannst einen Button, welcher über einen Ajax-Request den Reboot initiiert implementieren. Dann ist es Dir weitestgehend egal, was der Request zurück schickt.



  • vielen dank, tntnet...

    tntnet schrieb:

    Indem der Reboot in einen Hintergrundprozess ausgelagert wird. Dann kann der Webserver die Antwort schicken, währen der Hintergrundprozess einen Augenblick wartet.

    wie meinst du das? wenn das gerät (auf dem webserver, netzwerk und alles läuft) neu startet, dann ist es für etwa 5 sekunden tot und niemand ist da, der die anfragen des browsers verarbeiten kann.

    tntnet schrieb:

    Eine andere Möglichkeit bietet Ajax. Du kannst einen Button, welcher über einen Ajax-Request den Reboot initiiert implementieren. Dann ist es Dir weitestgehend egal, was der Request zurück schickt.

    also erst die page neu laden und danach rebooten? ja, das wäre vielleicht eine idee. nachteil hierbei ist: wenn jemand vor ablauf der 5 sekunden irgendwo auf die seite klickt, geht's ja auch nicht.

    ideal wäre es, den browser zu veranlassen, dass er das neuladen erst nach 5 sekunden macht. das muss doch gehen.



  • ok, problemchen gelöst. ich mache es so:
    1. nach dem submit wird eine spezielle seite (rebooting - please wait...) angefordert 'wait.html' (steht im action-attribut des form-tags).
    2. server sendet diese seite und macht danach den neustart.
    3. die seite enthält ein javascript, das einen zähler anzeigt.
    4. wenn der zähler 0 erreicht hat, (in der zeit ist das device wieder aktiv) wird (ebenfalls per javascript) die startseite neu geladen.
    -> klappt perfekt!

    vielen dank noch mal an alle, die sich meinen kopf zerbrochen haben.
    🙂


Anmelden zum Antworten