Streaming messages

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Streaming messages

    Hallo zusammen,
    ich bin relativ unbedarft in PHP, außer einem kleinen CMS hab ich noch nix besonderes Zusammengebastelt. Nun lese ich zufällig bei den Script, Voodo-chat mit streaming messages, so wie ich das verstehe, quasi ne standleitung zum Server. Die schreiben da von allen möglichem Zeug.. kein durchblick.. aber nun meine Frage:
    Ist es möglich, in Php ein textfile laufend in Echtzeit auszulesen, ohne Reload und Geflimmer, oder brauch ich da Servlets, Applets, Flash oder sonst was?
    Ich möchte ein Spiel bauen, bei dem die Spieler einen Button drücken und ein textfile mitzählt. Das schaff ich, is ja ned schwer, aber wie stelle ich das so dar, dass alle User immer den aktuellen Stand sehen?? Hat einer ne Idee?
    Danke im Vorraus,
    Jürgen
    Der Klügere gibt solange nach, bis er selbst der Dumme ist

  • #2
    Hallo

    also ich verstehe das jetzt so:

    ein user macht etwas, und solange die seite offen ist, soll z. B. jede sek was in ne Textdatei geschrieben werden.

    Das kannst so machen, dass du ne Ausgabe machst, was auf seinem Bildschirm erscheinen soll (echo etc), das script allerdings hat unendliche Ausführungszeit. Jede Sekunde schreibt das Script was in die Datei und sobald der User die Seite wechselt, beendet das Script.
    tata
    moqui

    [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

    Kommentar


    • #3
      hmm es ist eher so gedacht:
      beispiel:
      4 Spieler an unterschiedlichen Rechnern. Jeder hat die gleiche Seite offen.
      Das Spiel dauert 2 min. Ziel des Spiels, ähnlich einer Auktion, am Ende den letzten Erhöhungsschritt zu tätigen.
      Erhöht wird immer um 1 Punkt bei Betätigen des "Biet-buttons". Der Gewinner erhält die gesamte Punktzahl des Spieles.
      Anders als bei einer Auktion, kann immer nur ein Punkt erhöht werden, und es gibt keinen Bietassisteten.
      Deshalb ist es so wichtig, dass der Punktestand immer aktuell ist, auch wenn alle 4 Spieler wie blöd auf den Knopf einclicken. Also irgendwie live.

      Das Spiel ist natürlich weitaus komplizierter, mir geht es aber rein um diese Funktion. Ich hab mal nen Livecounter in Flash probiert, mit ner Refreshrate von 0,2 sek., aber der hatte Aussetzer, wären php in die txt schrieb und deshaölb die Datei nicht geladen werden konnte, zumindest war das die ofizielle Erklärung eines Flashmannes.

      Und dann kenn ich Livecharts und Livechats in Java, ich glaub mittels Servlets, und Applets als Ausgabe. Die Frage ist, geht das ned irgendwie in PHP, denn sonst könnt ichs gleich vergessen, bin am PhP lernen und 2 weitere Sprachen sind einfach zuviel. ..
      Der Klügere gibt solange nach, bis er selbst der Dumme ist

      Kommentar


      • #4
        Naja, irgendwie muss der Server ja mitbekommen dass du den Button gedrückt hast -> Daten müßen abgeschickt werden (an ein Script) und somit würde sich der Browser reloaden...


        Würde ich jetzt mal so dazu sagen
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          kurz um: ein php-chat ohne reloaden (geflacker) der seite ist nicht möglich (sonst würde ja kein mensch java-chats programmieren )
          mfg - sagg

          Kommentar


          • #6
            @shurakai: ja schon klar, aber wer sagt meinem browser, dass jemand anderes den Button drückt? Es gibt ca. 4 Mitspieler. Jeder hat nur eine gewisse Zahl an Punkten, die er mögl. klug abgeben soll, damit er am Ende den "Checkpot" ersteigert. Deshalb muss jeder spieler immer den genauen Stand wissen.

            @sagg: Danke, genau das wollt ich wissen.
            Hmm mal angenomen das Geflacker stört nicht, wie schnell (wie oft pro sek.)könnte man denn mit PHP refreshen, wenn jeweils nur 1 Zahl aus einem textfile ausgelesen werden muss, z.B. 12345 ? Oder wäre da ein Meta-Refresh schneller? Ich bräuchte ja nur die TXT includen. Es greifen ja max. 4 Leute auf die Seite zu.(begrenzte Spieleranzahl)
            Also, mir geht es nicht darum, dass jemand für mich scripted, ich möchte nur gerne vorher wissen, ob es realisierbar ist, bevor ich mir die Nächte um die Ohren hau, und dachte, dass evtl. jemand damit schon Erfahrungswerte hat.
            Danke derweil.
            Zuletzt geändert von lobendank; 31.10.2004, 08:19.
            Der Klügere gibt solange nach, bis er selbst der Dumme ist

            Kommentar


            • #7
              dann, mach 2 Frames

              1. Frame mit META-Refresh darin liest und zeigt das Script den Wert an

              2. Frame ein Button fürs Bieten, bei jedem Klick die Daten an den Server senden.

              ist easy, geschätzte Aufwandzeit < 10 Min.

              Kommentar


              • #8
                Hi hab ich grade ausprobiert, is zu lahm und nervt tierisch..
                Muss mich dann wohl doch nach Java umtun..
                Danke für eure Hilfe,
                Jürgen
                Der Klügere gibt solange nach, bis er selbst der Dumme ist

                Kommentar


                • #9
                  rein theoretisch könnte es gehen, wenn man ne "unendliche" for-schleife macht, und jedesmal prüft ob die dateigröße sich geändert hat, wenn ja wird die nächste zeile aus der txt datei ausgegeben... aber der arme server

                  Kommentar


                  • #10
                    Und genau diese Schleife lastet den Server so lange aus, bis er abschmiert und alle Luken dicht macht.

                    Und ausserdem, der Client muss die Seite neu laden, und da kann der Server gar nix machen, der kann dem keinen Befehl schicken der ihm sagt "reloade mal bitte, jemand hat was geschrieben" oder "schreib ne neue zeile", php ist rein Serverseitig.

                    Ohne reloaden ist da nix zu machen.

                    byez - sagg
                    mfg - sagg

                    Kommentar

                    Lädt...
                    X