| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Script nur auf Server ausführen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Hallo, ich hab ein kleines Problem, ich versuche ein php script NUR auf dem Server auszuführen. Ich möchte das Script ...
![]() |
| | #1 (permalink) |
| Hallo, ich hab ein kleines Problem, ich versuche ein php script NUR auf dem Server auszuführen. Ich möchte das Script aufrufen -> es bringt mir ne Ausgabe(z.b. "Script gestartet") dann soll es im Hintergrund des Server warten bis eine bestimmte Zeit Abgelaufen ist und dann einen Eintrag in meine Mysql Datenbank machen. Das Problem dabei ist, dass der User(der das Später nutzen soll) nichts davon merken soll. Er soll die Ausgabe "Script gestartet" bekommen und die Seite soll Fertig geladen sein. (hoffe ihr versteht meine wirren Gedanken )Bin Dankbar für jede Art von Hilfe mfg Donar | |
| | |
| | #2 (permalink) |
| Registriert seit: 19.07.09 ![]() Likes: 0 | Hallo, was meinst du mit "nur auf dem Server ausführen" - jedes Script wird (nur) auf dem server ausgeführt? Mal in Pseudocode: >Starte Script >Gebe Text Aus >Warte xy sek >Mach Eintrag ind db >fertig! Ich nehme mal an das PRoblem ist, dass der Nutzer schon denken soll, die Seite wäre fertig geladen, ob wohl man noch bei "Warte xy sek" ist - oder!? Wenn ja, solltest du dich vll. mal in Richtung Threads/Parallelität erkundigen, eine Möglichkeit wäre vll. das entsprechende Script per "system()" im Hintergrund zu starten!? Vll. erklärst du noch kurz warum du warten willst, und der Kunde es nicht angezeigt bekommen soll - oft wenn solche "komischen Probleme" gelöst werden soll ist der Lösungsansatz nicht korrekt ... mfg d0ne |
| | |
| HaBOT | |
| |
| | #3 (permalink) |
| Senior Member | http://de.php.net/manual/de/function.sleep.php die funktion sleep sollte dir helfen wie weit das mit der maximal ausführzeit in konflikt kommt müsstest du mal austesten
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| | #4 (permalink) |
| Themenstarter | zur Erklärung: ich habe mir vorgenommen, um mein Wissen in php zu erweitern, ein kleines browsergame zu programmieren. Dieses Spielt im Weltraum und da will ich Flotten von einem Planet zum andern Senden können, aber das soll ja Zeit brauchen(sind ja nicht unendlich schnell die Schiffe ) bis die da sind. Der Spieler soll aber nicht x Stunden vor der Seite hocken und warten das die Flotte endlich da ist. Also will ich ein script schreiben was eben zu gegebener Zeit die Flotte auf dem Entsprechenden Planeten ankommen läßt.Ich danke euch erstmal für eure Hilfe und werde mich in das Threading einlesen. |
| | |
| | #5 (permalink) | |
| Senior Member | Zitat:
wenn der user die seite wieder aufruft nimmst du den aktuellen timestamp und vergleichst ihn mit dem in der db, wenn deine zeitspanne um ist, lässt du die flotte ankommen (setzt in der db ->flotte da), wenn nicht machste nix
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world | |
| | |
| | #6 (permalink) |
| Registriert seit: 19.07.09 ![]() Likes: 0 | Hallo, das ist so ein Fall wo die gewünschte Lösung keine "gute Lösung" ist - in diesem Fall funktioniert sie wahrscheinlich 'nicht einmal, da die Script meist eine Maximale Laufzeit von ca 30 sek. haben. Und wie ich Raumschiffe so kenne schaffen Sie so einen Flug auch in 30 sek. nicht! ![]() Außerdem hast du so dutzende Script laufen, die einfach nur warten - nicht sehr performand... Lösung: siehe Chakky ;P mfg d0ne |
| | |
| | #7 (permalink) |
| Themenstarter | mh, du hast recht. Das wären echt viele Scripts. Dann werd ich das so machen wie chakky es vorschlägt. Danke nochmals! |
| | |
| | #8 (permalink) |
| Member of Honour ![]() | kann mich nur anschließen: speichere den Start-Zeitpunkt als Timestamp und überlege dir eine Berechnung für die Gesamt-Zeit... und noch eine Idee: wenn du das ganze noch ein wenig grafisch animieren willst, dann schreibe ein Script, welchem du die Raumschiff-ID übergibst und welches dann lediglich zurückgibt, wieviel Prozent geschafft sind und bastel dir dann mit AJAX eine Art Laufbalken mit Raumschiff so [Planet1]----<Raumschiff>---------------------[Planet2] da kannst du ja z.B. alle 500ms per AJAX-Request abfragen, wie weit das Raumschiff ist und dann die Position setzen... |
| | |
| | #9 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 1 | Das ist ja noch schlimmer als wenn man per Ajax alle Sekunde die Zeit vom Server holt um Sie anzuzeigen! Da entsteht extrem viel Serverlast, nicht gerade optimal bei einem Browsergame.
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #10 (permalink) |
| Moment: In der Annahme, dass das Raumschiff nicht mit anderen kollidiert und eine vorrausberechenbare Geschwindigkeit hat, kann man das doch mit JavaScript direkt berechnen - wozu AJAX? Wenn jemand den Quellcode manipuliert bekommt er halt eine falsche Positionsbar - na und?
__________________ | |
| | |
| | #11 (permalink) | |
| Member of Honour ![]() | Zitat:
hab in letzter Zeit mit AJAX so paar Spielereien gemacht wie Abfragen, ob es irgendwo neue Daten gibt (neue PNs, neue News-Einträge, etc.) und dementsprechend ist die AJAX-Abfrage in Endlosschleife alle paar Sekunden so automatisch im Kopf drin... | |
| | |
| | #12 (permalink) |
| Member of Honour ![]() | ansonst sollte man noch nen cronjob einrichten, der die ankunft der schiffe überprüft. denn sonst müsstest du mit jedem user immer alle raumschiffe abfragen! -> blöd oder die schiffe sind noch nicht da fr die anderen spieler, obwohl sie da sein sollten, nur weil der entsprechende user nicht online war -> auch blöd. daher einfach nen cronjob einrichten, der die schiffsankünfte immer überprüft. da müsstest dir dann nur ne platte machen, wie oft du diesen wert aktuallisieren willst.
__________________ » Flattr mich! - Wenn dir mein Beitrag geholfen hat! « <| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |> |
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |