Announcement

Collapse
No announcement yet.

Serverseitiger countdown

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Serverseitiger countdown

    hallo forum.

    hallo. habe vor kurzem mit webseiten programmierung begonnen. kenne mittlerweile etwas php, html, javascript.
    bin dabei eine webseite zu programmieren die eine zeit runterzählt von 30 sec und anschließend eine farbe per zufall bestimmt.
    jetzt kommt meine großes problem bei dem ich einfach nicht weiter komme.
    ich möchte das wenn leute die webseite besuchen alle den gleichen countdown sowie die selbe gezogene farbe sehen. im mom ist es so das der countdown beginnt sobald die seite lädt. das soll so nicht sein der countdown soll quasi permament auf dem server laufen.
    mein erster gedanke ist das ich es wohl mit php irgendwie realieseren muss und ich werde es per javascript auf der seite anzeigen. aber wie bekomme ich den server dazu permament diesen countdown zu betätigen.? (muss ich mich hier schon mit ajax beschäftigen ?)

    mfg

  • #2
    Du musst dir den Wert des Timers und der Farbe aktuell auf dem Server merken.
    Dafür gibt es
    http://php.net/manual/de/book.apc.php
    oder
    das speichern im Filesystem

    Du speicherst dort die Farbe und den Zähler. Ist allerdings sinnlos, solange sich die Seite nicht selbstständig erneuert; entweder über Javascript oder über meta-refresh-Tag
    Zuletzt editiert von Christian Marquardt; 21.09.2016, 21:21.
    Christian

    Comment


    • #3
      vielen dank für die schnelle antwort. auf den ersten blick sehe ich da leider noch nicht was zu tun ist. aber ich habe evtl eine idee mit der globalen variable. das würde dann aber auch bedeuten das wenn niemand auf dem server ist dort auch kein countdown stattfindet, oder ? muss mir erstmal gedanken machen. auf jeden fall danke das so schnell schon resonanz kommt.

      Comment


      • #4
        Nein, du musst ja irgendein laufendes Programm auf deinem Server haben, das zählt. Sonst geht das nicht. Und bei den 0815-Hostern wirst du das auch nicht machen können, da die langlaufende Scripte stoppen. Alos wirst du deinen eigenen Sever aufsetzen müssen

        Was ist das überhaupt für ein Countdown?
        Ein rückwärts zählen von einer Zeiteinheit (bsp. 30 Minuten auf 0 zählen)?
        Die Anzeige einer Dauer bis zu einem festgelegtem Zeitpunkt (bsp. Monate/Tage/Stunden bis Sylvester)?

        Letzteres kann man ohne irgendwelche Speicherung auch auf dem Server realisieren. Dann wird halt die Farbe der Seite anhand der Zeit berechnet. Bsp. sind die Minuten 0-9 = schwarz, 10-19 = rot
        Zuletzt editiert von Christian Marquardt; 22.09.2016, 09:08.
        Christian

        Comment


        • #5
          also auf der seite soll ein countdown von 30 sekunden ablaufen. wenn dieser null erreicht soll eine zufallszahl(farbe) gezogen werden. anschließend soll der countdown wieder von 30 sek runterzählen und wieder eine farbe aussuchen. usw usw . heist es soll immer so weiter gehen. allerdings soll der countdown nicht bei 30 sek starten wenn jemand die seite aufruft sondern quasi dauernd laufen. d.h wenn der coundtdown gerade bei 10 sec ist und jemand die seite aufruft soll er auch 10 sec sehen.
          nur wie bekomme ich es hin das alle clients den gleichen countdown und auch die gleiche farbe sehen.

          Comment


          • #6
            Siehe Beitrag #2

            Hast du hier irgendwas gelesen?

            - Serverseitig den Zustand merken
            - PHP-Scripte werden auf 0815 Hostern abgebrochen
            Christian

            Comment


            • #7
              ja habe mir alles angesehen was du mir da geschickt hast. komme aber nicht wirklich weiter damit. vllt stehe ich auch noch zu sehr am anfang mit meiner programmierung. evtl ist mein ziel hier zu hoch gesteckt.

              Comment


              • #8
                Was für ein Sinn macht es, serverseitig einen Countdown vorhalten zu wollen?

                Dann nutze Java und einen J2EE-Server. Dort gibt es einen Applicationscope
                Christian

                Comment


                • #9
                  Originally posted by bockhorn View Post
                  nur wie bekomme ich es hin das alle clients den gleichen countdown und auch die gleiche farbe sehen.
                  Wie synchron soll das denn sein? Also wieviel Zeitversatz darf denn zwischen 2 Fenstern ggfs auf 2 verschiedenen Rechnern sein? Das kann dann nämlich ganz schön kompliziert werden wenn das extrem synchron sein muss

                  Comment


                  • #10
                    es sollte schon ziemlich synchron sein. am besten weniger als 1 sec. bin gerade dabei es mit jquery ajax umzusetzten aber hänge noch ganz schön.

                    Comment


                    • #11
                      Sicher, da es keine Frage von Ajax ist.
                      Das wird so nicht gehen.
                      Du musst zuerst festlegen, WIE du den aktuellen Zähler auf dem Server permanent hälst...wie hast du das gelöst?
                      Christian

                      Comment


                      • #12
                        Na reicht es denn nicht wie Du schon vorgeschlagen hast einfach die aktuelle Zeit zu nehmen? Die Zeit ist hoffentlich für alle gleich. Zeit Modulo 30 Sekunden und schon hat man einen Timer Aber das hattest Du ja auch schon vorgeschlagen. Alles andere wäre auch Käse und viel zu kompliziert.

                        Comment


                        • #13
                          Es bekommt doch jeder Request "sein" PHP-Script. D.h. der Request von A hat keinen Zugriff auf den Request von B und auf die Variablen im Script. Wie bekommen nun beide gleichzeitig den Stand des Zählers in "ihr" Script?
                          Der Countdown soll ja unabhängig von irgendeinem Request laufen. Es soll ja irgendwann starten und dann halt immer einen Countdown von 10 Min. laufen.
                          Woher erfahren die Requests den Stand?
                          Mit welchem Programm wird runtergezählt? Es kann ja nicht in einer Endlosschleife immer 10 Min. runterzählen. Das lässt kein Hoster lange laufen.
                          Bei einer Aulösung von 1 Sekunde ist das speichern im Dateisystem...nicht gut
                          Christian

                          Comment


                          • #14
                            Also soweit ich das verstanden habe gibt es am Ende nur einen Zaehler und eine Farbe. Fuer die verschiedenen Farbe muesste man irgendeine Logik hinterlegen, wann welche Farbe ausgewaehlt wird. Ansonsten braucht man die Zeit doch praktisch nur beim Abschicken der Seite vom Server zum Client zu berechnen, diese packt man dann in die Seite und macht mit Javascript einen Counter der runter zaehlt. Zusaetzlich kann man dann noch per Ajax den aktuellen Zaehlerstand periodisch abpruefen und nachbessern, falls sich in der Zwischenzeit irgendwas verschoben haben sollte. Das kommt dann aber drauf an fuer was die Seite letzten Endes gedacht ist. Ich glaube nicht dass es ein alleinstehendes Problem ist alle 30 Sekunden allen Benutzern dieselbe randomisierte Farbe anzuzeigen

                            Comment


                            • #15
                              Und wie realisierst du den Zähler?
                              Dieser soll ständig zählen.
                              Kommt ein Clientrequest bekommt dieser den aktuellen Stand.

                              Wie sollte das gehen?
                              Christian

                              Comment

                              Working...
                              X