Marcel Georgii: aktuelle Besucherzahl

Hi all

Wie kann ich die aktuelle Besucherzahl meiner Website anzeigen?

  1. Hallo,

    Wie kann ich die aktuelle Besucherzahl meiner Website anzeigen?

    über einen Counter! Dazu brauchst Du Kenntnisse in CGI oder nutzt einen externen Server.

    lg
    Reiner

    1. Hallo Marcehehehl,

      lebst Du noch?

      Interessiert Dich das noch, was Du hier angerichtet hast? Oder ist dieser Thread inzwischen verbindungslos im Nirwana versickert?#

      Grüße

      Tom

      1. lebst Du noch?

        Interessiert Dich das noch, was Du hier angerichtet hast? Oder ist dieser Thread inzwischen verbindungslos im Nirwana versickert?#

        kannst Du mir mal sagen, warum Du mir ins Ohr schreist?

        Reiner

        1. Hallo Reiner,

          Du heißt doch nicht Marcel, oder?

          Ging doch aus meiner Begrüßung hervor, an wen die Frage gerichtet war. Nun sag bloß nicht, dann muss sie anders einsortiert werden. Da habe ich neulich gerade gelernt, dass es "hinten dran" gehört...

          Grüße aus Braunschweig

          Tom

          1. Thx für die vielen Antworten *aufgeschreckt* aber eigentlich bin ich nicht weitergekommen. Natürlich könnte ich einen Counter machen der den Besucher alle 10 min resetet..aber das wäre ein sehr subjektives Resultat (Genauigkeit +-10 Minuten). Aber wie erklärt ihr euch so was: http://boards.turtled.com/user_online.html?lang=de ??? Ich logge mich ja einmal ein und das wird als Cookie abgespeichert und ich logge mich NICHT aus wenn ich das Forum verlasse, ich schliesse ja nur den IE. Aber wie wissen die jetzt ob der online ist oder ned?

            Thx

            1. HAllo,

              Aber wie wissen die jetzt ob der online ist oder ned?

              Per Timeout
              Es gibt keine andere (praktikable) Methode.

              D.h. die dort angegenen Werte sind nur eine Näherung. Geht auch nicht anders.

              By
              Reinhard

              1. Aha dachte ichs mir schon. Merci für die Zahlreichen Antworten. Jetzt muss ich mir nur noch so ein Script basteln.

  2. Hi lonesome,

    Wie kann ich die aktuelle Besucherzahl meiner Website anzeigen?

    Version 1:
    Eigentlich ganz einfach. Du sorgst dafür, dass Du irgendwo einen aktiven Server (also einen mit CGI, PHP o,ä. Diensten) zur Verfügung hast.

    Du legst auf diesem Server ein Servlet ab (PHP-Datei, Java-Datei, Perl...) Das schreibt in eine Datei auf dem selben Server die aktuelle Besucherzahl. Immer, wenn es aufgerufen wird, erhöht es die Zahl um eins.

    Um das nun auf Deiner Seite nutzbar zu machen, nimmst Du als Start-und Zählseite ein Frameset. Eines der Frames ist eben die besagte Zählerdatei.

    Es gibt im Netz dutzende Anbieter, die Die diesen Dienst für wenig oder gar kein Geld anbieten. Such mal über Fireball.

    Version 1:
    Was ist eigentlich ein Besucher? Jemand der meine Webseite einmal anklickt? Und was ist, wenn er die selbe Page fünfmal am Tag anklickt? Was ist, wenn er NUR diese Page anklickt, aber gar nicht durch Deine Präsentation surft? Was ist, wenn der Selbe morgen schon wieder klickt. Ist er dann ein "neuer" Besucher oder darf man ihn nicht mitzählen?

    Da gibts so Begriffe wie Hits, Pageimpressions, Visits usw...

    Sollte man auch mal drüber nachdenken.

    Liebe Grüße

    Tom

    1. Hallo!

      Du legst auf diesem Server ein Servlet ab (PHP-Datei, Java-Datei, Perl...) Das schreibt in eine Datei auf dem selben Server die aktuelle Besucherzahl. Immer, wenn es aufgerufen wird, erhöht es die Zahl um eins.

      -Gibt es Servlets in Perl?! Ich dachte, dass gibt's z.Zt. nur für Java. Perl ist doch immer CGI, oder?!
      -Wenn du Servlet nimmst, brauchst Du keine Datei zu schreiben. Servlets laufen als Thread, nicht als Prozess und können somit Daten persistent halten.
      -Wann erniedrigst du deinen Zähler? Schließlich verläßt der Besucher die Seite irgendwann auch mal.

      1. Selber Hallo,

        Du legst auf diesem Server ein Servlet ab (PHP-Datei, Java-Datei, Perl...) Das schreibt in eine Datei auf dem selben Server die aktuelle Besucherzahl. Immer, wenn es aufgerufen wird, erhöht es die Zahl um eins.
        -Gibt es Servlets in Perl?! Ich dachte, dass gibt's z.Zt. nur für Java. Perl ist doch immer CGI, oder?!

        Na gut, eine serverseitige Applikation...

        -Wenn du Servlet nimmst, brauchst Du keine Datei zu schreiben. Servlets laufen als Thread, nicht als Prozess und können somit Daten persistent halten.
        -Wann erniedrigst du deinen Zähler? Schließlich verläßt der Besucher die Seite irgendwann auch mal.

        Die Frage nach einer Besucheranzeige bestand noch nicht, als ich die Antwort verfasst habe. Hier war ein Besucherzähler gefragt. Und Zähler haben ausschließlich kumulative Wirkung.

        Ein Ereigniszähler zählt eben nur, wieviele Ereignisse eingetreten sind / bzw eintreten, jenachdem ob er bei aufsteigender Flanke oder bei absteigender triggert, positive Logik (fürs Modell) vorausgesetzt.

        Ein Blitzezähler z.B. wird auch immer nur vorwärts laufen.

        Wir sollten wirklich versuchen, etwas exaktere Sprache zu wählen. Ich weiß aber selber, wie schwer das ist.

        Liebe Grüße

        Tom

  3. Also klar weis ich wie ich ein Counter baue, aber ich meine einer der die aktuellen Besucher (die die gerade jetzt drauf sind) anzeigt!

    1. Hi Marcel <-- Das ist eine Begrüssung, siehe Faq

      Also klar weis ich wie ich ein Counter baue, aber ich meine einer der die aktuellen Besucher (die die gerade jetzt drauf sind) anzeigt!

      Gar nicht, http ist ein verbindungsloses Protokoll, was diverse
      andere Seiten so anzeigen ist nichts anderes als n Counter der
      dir nur die Hits (od Pageimpressions, unique Users...) der
      letzten n Minuten/Stunden anzeigt. Also nichts als geschummele.

      Dazu hats auch genug im Archiv

      Gruss Daniela <-- Das ist ein Gruss

      1. Hallo Daniela,

        Gar nicht, http ist ein verbindungsloses Protokoll, was diverse

        ^^^^^^^^^^^^^^^^

        :-)
        Freudscher Versprecher? Es ist ein "zustandsloses" Protokoll! Wenn es verbindungslos wäre, würde es sehr ruhig im Netz...

        lg
        Reiner

        1. Hi Reiner

          Gar nicht, http ist ein verbindungsloses Protokoll, was diverse
                                     ^^^^^^^^^^^^^^^^

          :-)
          Freudscher Versprecher? Es ist ein "zustandsloses" Protokoll! Wenn es verbindungslos wäre, würde es sehr ruhig im Netz...

          Ne, ich meinte schon ganze genau das.

          Anfrage, Antwort, aber nichts mehr, ausser dem winzigen Moment
          der Übermittlung (die auch nicht http ist sondern ne tiefere
          Schicht im ISO/OSI Modell), besteht keine Verbindung.

          Gruss Daniela

          1. Hallo Daniela,

            Gar nicht, http ist ein verbindungsloses Protokoll, was diverse
                                       ^^^^^^^^^^^^^^^^

            :-)
            Freudscher Versprecher? Es ist ein "zustandsloses" Protokoll! Wenn es verbindungslos wäre, würde es sehr ruhig im Netz...

            Ne, ich meinte schon ganze genau das.

            Anfrage, Antwort, aber nichts mehr, ausser dem winzigen Moment
            der Übermittlung (die auch nicht http ist sondern ne tiefere
            Schicht im ISO/OSI Modell), besteht keine Verbindung.

            Ich bin auch gespannt auf Reiners antwort. Aber ist http wirklich Verbindugslos? Es bleibt bis zum Eintreffen der Antwort oder Timeout ein Port auf der Request-Seite offen...
            Anders bei reinem IP. Da bleibt nix offen. Das Paket wird abgeschickt und ob es jemals ankommt, interessiert niemanden mehr.

            Vielleicht sollten wir hier mal alle wichtigen Protokolle des Internet und seiner Helfer AUF DEUTSCH erklären, also so, dass selbst ich das verstehe.

            ARP
            ICMP
            UDP
            TCP
            HTTP
            POP3
            SMTP
            ???
            ???

            <img src="http://bitworks.de/~tschmieder/brett2.gif" border=0 alt="">

            Liebe Grüße

            Tom

            1. Moin,

              Ich bin auch gespannt auf Reiners antwort. Aber ist http wirklich Verbindugslos?

              ja

              Anders bei reinem IP. Da bleibt nix offen.

              Das liegt vordergründig daran, dass bei IP 'offen' nicht definiert ist. IP bringt Pakete von A nach B (oder auch nicht).

              Vielleicht sollten wir hier mal alle wichtigen Protokolle des Internet und seiner Helfer AUF DEUTSCH erklären, also so, dass selbst ich das verstehe.

              Siehe Archiv, ich hab da glaubich schon einiges zu geschrieben. In Kurzform

              ARP

              Address Resolution Protocol (Addressauflösungsprotokoll), wird im Ethernet (also vor allem in LANs) benutzt um die Zuordnung von IP-Addressen zu MAC-Addressen herzustellen. Die MAC-Addressen werden dann ihrerseits im Ethernet benutzt, um Pakete zuzustellen (auf einer noch niedrigeren Schicht als IP, daher geht darüber zum Beispiel auch IPX/SPX).

              ICMP

              Internet Control Message Protocol (Internetkontrollnachrichtenprotokoll), ist ein wichtiger Bestandteil von IP und übermittelt verschiedene Statusmeldungen, so was wie "Der Rechner ist grad nicht erreichbar" oder "Ich will nicht mir dir sprechen".

              UDP

              User Datagram Protocol (Protokoll für Benutzerdatenpakete), liegt oberhalb von IP und schickt verbindungslos Daten von einem Rechner:Port zu einem anderen Rechner:Port. Der im Prinzip einzige Unterschied zu rohen IP-Paketen liegt in der Portnummer, damit können die Pakete dann direkt an ein Programm (das an einem bestimmten Port 'lauscht') zugeordnet werden.

              TCP

              Transmission Control Protocol (in etwa "Protokoll für gesteuerte Verbindungen"), liegt oberhalb von IP (neben UDP) und kennt nicht nur Ports, sondern auch Verbindungen. So eine Verbindunge muss aufgebaut werden, bevor Daten über sie geschickt werden können. Ausserdem wird der Empfang der Daten überwacht und sichergestellt dass alle Daten in der richtigen Reihenfolge ankommen.

              HTTP

              HyperText Transfer Protocol, liegt oberhalb von TCP und ist für die Verwendung im World Wide Web gedacht. Obwohl TCP selbst verbindungsorientiert arbeitet, ist HTTP verbindungslos.

              POP3

              Post Office Protocol version 3, liegt oberhalb von TCP und ist für das Abrufen von eMails aus einem Postfach gedacht.

              SMTP

              Simple Mail Transfer Protocol, liegt oberhalb von TCP und ist für das Versenden von eMails gedacht.

              --
              Henryk Plötz
              Grüße aus Berlin

        2. Lieber Reiner,

          wo Du schon mal dabei warst, könntest Du den Unterschied zwischen verbindungslos und zustandslos bitte erklären?

          Gar nicht, http ist ein verbindungsloses Protokoll, was diverse
                                     ^^^^^^^^^^^^^^^^

          :-)
          Freudscher Versprecher? Es ist ein "zustandsloses" Protokoll! Wenn es verbindungslos wäre, würde es sehr ruhig im Netz...

          noch liebere Grüße

          Tom

          1. Moin!

            wo Du schon mal dabei warst, könntest Du den Unterschied zwischen verbindungslos und zustandslos bitte erklären?

            So wie ich die Dinge sehe [1]:

            Verbindungslos: Das Protokoll übermittelt zwar Daten von A nach B, es besteht aber keine feste Verbindung zwischen den beiden Stationen, sondern es wird je nach Bedarf immer schnell eine temporäre Verbindung aufgebaut, wenn es etwas zu übermitteln gibt. Chats wie IRC, Telnet oder SSH sind verbindungsorientierte Protokolle.

            Zustandslos: Es gibt keine verschiedenen Zustände im Verlaufe der Verbindung, sondern alles ist zu jeder Zeit möglich. Zustandsbehaftet wäre es z.B., wenn zuerst ein Login erfolgen muß, dann diverse Datenübertragungen erfolgen könnten und zuletzt ein Logout.

            Beides (verbindungslos und zustandslos) trifft IMHO auf HTTP zu.

            [1] Das muß mit der Realität nichts zu tun haben, basiert aber auf der Anschauung, die ich von der Sache habe

            - Sven Rautenberg

            1. Hallo, Sven,

              Verbindungslos: Das Protokoll übermittelt zwar Daten von A nach B, es besteht aber keine feste Verbindung zwischen den beiden Stationen, sondern es wird je nach Bedarf immer schnell eine temporäre Verbindung aufgebaut, wenn es etwas zu übermitteln gibt.

              Generell hast du natürlich recht. Aber wie sieht es mit persistenten HTTP-Verbindungen aus, über die mehrere Requests geschickt werden? Denen könnte man eine komplexe Interaktion zwischen Klient und Server unterstellen (mehr als: Anfrage - Antwort à la "Gib mir /foo!" - "Hier hast du /foo, 200, tschüss und der nächste bitte.").
              AFAIK gibt es Authentifizierungsprotokolle, die auf HTTP basieren, welche mit 3-Way-Handshakes (auf der Anwendungsprotokollschicht, ich meine nicht TCP/IP) arbeiten - persistente Verbindungen sind dabei AFAIK aber nicht unbedingt nötig, würden sie aber in dem Falle speziell benutzt, würde ich in dem Fall von einer Verbindung mit einem speziellen Zustand reden.

              Zustandsbehaftet wäre es z.B., wenn zuerst ein Login erfolgen muß, dann diverse Datenübertragungen erfolgen könnten und zuletzt ein Logout.

              Siehe oben.

              "Es ist egal, aber" :)
              Mathias

              1. Hallo Sven,
                hallo Mathias,

                das Gganze scheint doch schwieriger zu sein, als man auf den ersten Blick kennt.

                Ich habe mal für verbindungsbezogen gelernt, dass die Kommunikationspartner unabhägig von der Kommunikation bemerken können, ob die Verbindung noch besteht. Also bei einer RS232-Verbindung z.B., ob noch Strom fließt. Der Stromfluß darf für die Dauer der Übermittlung EINER Übertragungsentität (1 Bit) unterbrochen werden.

                Ich bin mir deshalb nicht sicher, ob man auf höheren Schichten überhaupt noch verbindungsbehaftete Protokolle findet. TCP deht die ursprüngliche Begriffsbestimmung ja auch schon erheblich aus. Da kann man aller 576 Byte (oder so ähnlich) merken, ob noch Verbindung besteht. IP quasselt einfach so darauf los...

                Es wären also immer zwei Kanäle (so wie bei FTP) notwendig, um verbindungsbehaftete Protokolle auf höheren Schichten als der Bitschicht (RS232) zu realisieren. Wenn auf Kanal COMM nix mehr kommt wird auf Kanal CONTROL nachgefragt "lebst Du noch, oder was is los Alter, ey?"

                Habe ich das jetzt so ungefähr richtig verstanden?

                Grüße

                Tom

                1. Hi Tom,

                  Ich habe mal für verbindungsbezogen gelernt, dass die
                  Kommunikationspartner unabhägig von der Kommunikation bemerken
                  können, ob die Verbindung noch besteht.

                  dazu müssen sie eine Definition des Begriffs "Verbindung" und
                  "bestehen" haben.

                  Ich bin mir deshalb nicht sicher, ob man auf höheren Schichten
                  überhaupt noch verbindungsbehaftete Protokolle findet.

                  Warum nicht?

                  Man könnte auch oberhalb von HTTP ein solches Protokoll implementieren -
                  beispielsweise indem man mit JavaScript den Server periodisch pollt und
                  dieser durch das Ausbleiben des Pollings die "Verbindung" als "geschlos-
                  sen" ansieht (timeout).
                  (Das wäre natürlich eine außerordentliche Verschwendung von Bandbreite.)

                  Ich denke, das ist alles eine Frage der Definitionen.

                  Für HTTP gibt es keinen Bedarf, Begriffe wie "Verbindung" zu definieren
                  ... insofern ist HTTP für viele Aufgaben, die Verbindungen benötigen,
                  einfach nicht das richtige Protokoll.

                  Viele Grüße
                        Michael

              2. Hi Mathias,

                Generell hast du natürlich recht. Aber wie sieht es mit persistenten
                HTTP-Verbindungen aus, über die mehrere Requests geschickt werden?

                nun ja, das kommt darauf an. ;-)

                Es ist ja nicht so, daß sich der Client darauf verlassen kann, daß er
                auch den nächsten Request noch über dieselbe Verbindung senden kann.

                Der Server bietet ihm das zwar an, aber er hat die Kontrolle darüber,
                wie lange und für wieviele Requests er diesen Client die persistente
                Verbindung zur Verfügung stellt (beides konfigurierbar im Apache).
                Andersfalls könnte man mit 256 langlaufenden Clients ja auch sämtliche
                Verbindungen eines Apache okkupieren und ihn damit zunageln ...

                Also: Persistente Verbindungen sind IMHO eher eine Tuning-Maßnahme als
                eine abstrakte eigene Protokollschicht - genau wie ein Browser-Cache
                ja auch kein Protokoll oberhalb von HTTP darstellt.

                Denen könnte man eine komplexe Interaktion zwischen Klient und Server
                unterstellen (mehr als: Anfrage - Antwort à la "Gib mir /foo!" -
                "Hier hast du /foo, 200, tschüss und der nächste bitte.").

                Wenn ich das richtig verstanden habe, läuft das eher sogar primitiver
                ab, nicht komplexer. Der Client läßt den Handshake, den er ansonsten
                zur Etablierung der Verbindung benötigt hätte, einfach weg und nimmt
                die bereits existierende Verbindung - falls das scheitert, fällt er
                auf sein Default-Verhalten ohne persistente Verbindungen zurück.

                Viele Grüße
                      Michael

      2. HAllo,

        Gar nicht,

        Jedenfalls nich absolut.

        http ist ein verbindungsloses Protokoll, was diverse
        andere Seiten so anzeigen ist nichts anderes als n Counter der
        dir nur die Hits (od Pageimpressions, unique Users...) der
        letzten n Minuten/Stunden anzeigt.

        Wenn diese Zeit richtig gewählt ist _ist_ diese die Anzahl der Leute die gerade 'online' sind. D.h. die Seite lesen/betrachten.

        Also nichts als geschummele.

        Nein. Sondern ein statistischer Wert mit allen Nachteilen die ein solcher hat. Geschummele ist was anderes.

        Dazu hats auch genug im Archiv

        Das stimmt allerdings.

        By
        Reinhard

        1. Moin,

          Wenn diese Zeit richtig gewählt ist _ist_ diese die Anzahl der Leute die gerade 'online' sind. D.h. die Seite lesen/betrachten.

          Ja, aber das ist dann reiner Zufall. Du kannst ebensogut einen Pseudozufallszahlengenerator auf das Intervall [1, 5] (mit angemessenen Werten für 5) ansetzen und der Wahrheitsgehalt wäre nicht wesentlich anders.

          --
          Henryk Plötz
          Grüße aus Berlin

          1. Hallo Ihr Theoretiker :-))

            B1  ----------------------
            B2         ---------------------------------------------
            B3          -----------------------------
            B4             -----------------------------------------------------
            B5                             -------------
            B6                              --------------------
            B7                               ------------------------------
                ^      ^^  ^               ^^^       ^  ^       ^   ^      ^
                1      2   4               5 7       6  5       5   3      2
                        3                   6

            Ich hoffe die "Grafik" kommt rüber.

            B1 bis B7 sind Besucher, die einfach nur gezählt werden. Zählen heißt, das Vorkommen eines Ereignisse zu registrieren, Ereignisse sind nicht reversibel, bestenfalls ihre Folgen.

            Der Beginn der Linie kennzeichet den zeitlichen Beginn eines Gets oder Puts mit dem dazugehörigen Download/Uploads. Datenübertragung braucht eben Zeit. Wenn man also eine "echte" Besucherzustandsanzeige machen wollte, müsste man die z.B. die Instanzen des Apachen zählen, die gerade geöffnet sind, also alle offenen (Antwort-)Ports, die gerade mit HTTP bechäftigt sind.

            Kommen wir uns jetzt etwas näher?

            Diese Frage ist übrigens gar nicht trivial und wird mich in der nächsten Zeit auch noch beschäftigen. Da werde ich mir einen entsprechenden Echtzeit-Netzwerkmonitor für den Linux-Rechner zulegen müssen.

            Viele Grüße

            Tom

            1. Hi Tom,

              B1  ----------------------
              B2         ---------------------------------------------
              B3          -----------------------------
              B4             -----------------------------------------------------
              B5                             -------------
              B6                              --------------------
              B7                               ------------------------------
                  ^      ^^  ^               ^^^       ^  ^       ^   ^      ^
                  1      2   4               5 7       6  5       5   3      2
                          3                   6

              Ich hoffe die "Grafik" kommt rüber.

              Schön!

              Datenübertragung braucht eben Zeit.

              Aber in den meisten Fällen nicht so viel.
              (Himmel, wären _das_ Antwortzeiten!)

              Wenn Du wirklich nur die Auslieferung der Seiteninhalte selbst berück-
              sichtigen willst, dann wird bei einer normalen Homepage die Besucher-
              zahl _immer_ "1" sein. Bei einem stark frequentierten Web-Portal dann
              eher 1-10, aber nicht viel mehr ...

              Wenn man also eine "echte" Besucherzustandsanzeige machen wollte,
              müsste man die z.B. die Instanzen des Apachen zählen, die gerade
              geöffnet sind, also alle offenen (Antwort-)Ports, die gerade mit
              HTTP bechäftigt sind.

              Daß man gleichzeitig 256 Apache-forks laufen lassen kann, heißt ja nicht,
              daß die im Schnitt alle etwas zu tun haben, sondern daß man damit seltene
              Lastspitzen abfedern will.

              Das Starten und Stoppen von Apache-Instanzen ist übrigens so teuer, daß
              man es tunlichst bleiben lassen sollte: Zu wissen, wieviel RAM man dem
              Apache zuteilen kann, und alle dort hinein passenden Instanzen schon
              beim Webserver-Start zu kreieren und permanent zu erhalten, ist deut-
              lich schneller.
              Wenn der Server allerdings tendentiell eher nichts zu tun hat, kann man
              den Pool an Apache-Instanzen dynamisch auf- und abbauen lassen ... da
              kommt es halt darauf an, welche Ressource die knappe ist.

              Viele Grüße
                    Michael

              1. Moin, Michael!

                Wenn man also eine "echte" Besucherzustandsanzeige machen wollte,
                müsste man die z.B. die Instanzen des Apachen zählen, die gerade
                geöffnet sind, also alle offenen (Antwort-)Ports, die gerade mit
                HTTP bechäftigt sind.

                Daß man gleichzeitig 256 Apache-forks laufen lassen kann, heißt ja nicht,
                daß die im Schnitt alle etwas zu tun haben, sondern daß man damit seltene
                Lastspitzen abfedern will.

                Hm, den sachlichen Fehler scheint noch keiner gefunden zu haben: Egal wieviele Instanzen der Apache spawnt, es ist immer nur ein Port geöffnet, und das ist per default Port 80. Die Tatsache, daß 256 Kindprozesse aktiv sind bedeutet nicht, daß außer Port 80 noch 256 Ports in Betrieb sind - die Kommunikation läuft ausschließlich über Port 80 des Servers.

                Insofern würde man beim Zählen aktiver Instanzen vor dem natürlich nicht unlösbaren Problem stehen, den Status einer Instanz festzustellen: Liefert sie gerade eine Seite aus oder wartet sie?

                Dabei fällt mir gerade ein, daß Apache für solche Informationen doch einen Handler hat, der schon fertig eingebaut ist: Server-status. Liefert eine etwas kryptische Seite mit u.a. der Information, was jeder einzelne Prozeß so tut. Ist aber nicht wirklich aufschlußreich, was das "online-sein" angeht, weil sowas ja prinzipbedingt nicht geht.

                - Sven Rautenberg

          2. HAllo,

            Wenn diese Zeit richtig gewählt ist _ist_ diese die Anzahl der Leute die gerade 'online' sind. D.h. die Seite lesen/betrachten.

            Ja, aber das ist dann reiner Zufall.

            Das ist natürlich Quatsch.

            Du kannst ebensogut einen Pseudozufallszahlengenerator auf das Intervall [1, 5] (mit angemessenen Werten für 5) ansetzen und der Wahrheitsgehalt wäre nicht wesentlich anders.

            Also wenn seit 5 Stunden keiner auf die Seite zugegeriffen hat bringt dein Generator womöglich 'ne 5. Das kann bei meiner Methode nicht passieren.

            Jeder der eine Seite lädt, sieht sich die auch an. Die Zeit die er dazu verwendet (= online ist) ist unterschiedlich. Der Mittlere Wert davon (nennen wir das mal t [sekunden]) ist die Mittlere Zeit die ein Besucher für diese Site online ist. Wurden in den letzten t sekunden x unterschiedliche Besucher identifiziert, so sind eben x Besucher 'online'.

            Statistisch gesehen.

            In Realität können natürlich alle Besucher längst abgewandert sein, oder es sind mehr Besucher, weil 'ältere' Besucher noch 'online' sind. Das sollte sich aber im Mittel ausgleichen.

            Und die Methode läßt sich noch verfeinern.

            By
            Reinhard

            1. Moin,

              Also wenn seit 5 Stunden keiner auf die Seite zugegeriffen hat bringt dein Generator womöglich 'ne 5. Das kann bei meiner Methode nicht passieren.

              Doch, das Beispiel AOL wo ein User gerne mal über 5 verschiedene Proxies kommen kann wurde dir bereits genannt. Das andere Extrem (5 Leute sehen sich die Seite an, aber dein Zähler zeigt nur 1) ist ebenso möglich, wenn ein intelligenter Proxy dazwischensitzt.

              Jeder der eine Seite lädt, sieht sich die auch an. Die Zeit die er dazu verwendet (= online ist) ist unterschiedlich. Der Mittlere Wert davon (nennen wir das mal t [sekunden]) ist die Mittlere Zeit die ein Besucher für diese Site online ist.

              So, und wie nennt man das, wenn du einen Erwartungswert für ein Zufallsereignis hast, diesen als erwarteten Wert nimmst und der dann auch tatsächlich eintritt?  Richtig, "reiner Zufall".

              --
              Henryk Plötz
              Grüße aus Berlin

              1. HAllo,

                Doch, das Beispiel AOL wo ein User gerne mal über 5 verschiedene Proxies kommen kann wurde dir bereits genannt. Das andere Extrem (5 Leute sehen sich die Seite an, aber dein Zähler zeigt nur 1) ist ebenso möglich, wenn ein intelligenter Proxy dazwischensitzt.

                Das Problem nennt sich Useridentifikation. Ist alt bekannt. Die Lösungen auch. Cookies, SessionId ...

                Jeder der eine Seite lädt, sieht sich die auch an. Die Zeit die er dazu verwendet (= online ist) ist unterschiedlich. Der Mittlere Wert davon (nennen wir das mal t [sekunden]) ist die Mittlere Zeit die ein Besucher für diese Site online ist.

                So, und wie nennt man das, wenn du einen Erwartungswert für ein Zufallsereignis hast, diesen als erwarteten Wert nimmst und der dann auch tatsächlich eintritt?  Richtig, "reiner Zufall".

                Nein, Statistik.

                By
                Reinhard

    2. Also klar weis ich wie ich ein Counter baue, aber ich meine einer der die aktuellen Besucher (die die gerade jetzt drauf sind) anzeigt!

      Oooh, Entschuldigung, dass ich Dir geantwortet habe ;-)

      Du solltest und vielleicht in Zukunft etwa mehr Environment zur Verfügung stellen - gelle?

      Also gehts auf SESSION los. Da gibts hier schon gaaanz viele laufende Threads, die alle recht interessant sind. Oder solls nur stastistisch werden. Dazu hast Du ja schon eine Antwort bekommen. Du müsstest dazu z.b. auf einem Apache-Server die Dateien httpd.access_log und httpd.error_log usw. Deiner Page auswerten.

      Also IPs, Datum und Gets in einer Datenbank entsprechend gruppieren und auswerten.

      Grüße

      Tom

    3. Hallo,

      Also klar weis ich wie ich ein Counter baue, aber ich meine einer der die aktuellen Besucher (die die gerade jetzt drauf sind) anzeigt!

      Lies Dir mal die Definition des http durch.

      Die einzige Zeit, in der eine Verbindung überhaupt besteht (wenn man das Verbindung nennen kann/will), ist die Zeit ab dem Moment, zu dem der http-Request beim Webserver ankommt, bis zu dem Moment, in dem die Response vom Webserver losgeschickt wurde.

      Auf Serverseite ist also höchstens die Zahl gleichzeitiger Requests zu erfassen.

      Wie lange der Surfer "auf" Deiner Seite ist, ist eine ganz andere Sache. Wie definierst Du das? Solange wie die Seite im Browser angezeigt wird? Das sagt gar nichts, ich kann die Seite über Nacht im Browser anzeigen, bin aber gar nicht im Büro...

      Auch irgendwelche Tricks, ständig die Seite zu refreshen, um serverseitig festzustellen, ob der Surfer noch auf der Seite ist, helfen nicht viel: ich kann z.B. die Wählverbindung kappen, nachdem ich die Seite angezeigt bekommen habe, um sie danach in aller Ruhe stundenlang zu studieren...

      Andreas

  4. Hallo

    Wie kann ich die aktuelle Besucherzahl meiner Website anzeigen?

    Mal zum Verständnis:
    Wenn eine Seite aufgerufen wird, besteht nur so lange eine Verbindung
    zum Server, bis alle zur Seite gehörigen Daten abgerufen worden sind.
    Danach weiß der Webserver nicht mehr, wer da eben da war.
    Solche Counter zeigen immer nur an, wieviele Abrufe innerhalb eines
    festgelegten Zeitraumes "vor jetzt" erfolgt sind, z.B. in den letzten
    zwei Minuten.
    Skripte, die soetwas erledigen, laufen serverseitig,
    also mit Perl, PHP oder ASP. Wenn du solche Skripte auf deinem
    Webspace laufen lassen darfst, suche dir ein Skript aus einem Archiv.
    Ansonsten gibt es Fremdanbieter für Counter, die auch Onlinecounter
    anbieten.

    Tschüß, Auge

  5. Moin!

    Wie kann ich die aktuelle Besucherzahl meiner Website anzeigen?

    Es gibt solch eine Zahl eigentlich garnicht, weil das HTTP-Protokoll das nicht hergibt. Soll heißen: Alle Seiten, die "26 Besucher online" aussagen, denken sich diese Zahl nur aus, indem sie registrieren, an wieviele verschiedene IP-Adressen sie in der letzten Zeit (z.B. 5 Minuten) eine Seite ausgeliefert haben - und der Wert ist es dann. Dabei ist diese Zahl insofern gelogen, als daß natürlich jemand das erste Mal auf die Seite kommt und sie doof findet und nach 20 Sekunden schon wieder verschwindet, andere Leute laden eine Seite, machen 30 Minuten Mittagspause und lesen sie erst dann - sind also im Prinzip noch online, nur nicht für den Zähler. Und wenn nicht Mittel zur Benutzerverfolgung eingesetzt werden, dann werden z.B. Benutzer von AOL doppelt und dreifach gezählt, weil die pro Zugriff einen anderen Proxy benutzen und so als verschiedene Benutzer in Erscheinung treten können.

    Und letztendlich: Die Information, wieviele Leute auf deiner Seite online sind, ist wirklich langweilig. Denn bei den meisten Seiten steht da "1 Besucher online" - das ist man selbst. Du mußt schon eine wirklich beliebte Seite haben, damit dort was anderes als 1 oder 2 steht. Du brauchst solch eine Angabe also nicht wirklich.

    - Sven Rautenberg

  6. Hi all

    hi you.

    Wie kann ich die aktuelle Besucherzahl meiner Website anzeigen?

    garnicht. woher willst du denn wissen ob er user noch auf deiner webseite ist. muss er sich abmelden ;)

    beim http gibt es keinen status wie eingeloggt oder ausgeloggt, wie z.b beim ftp. daher kannst du höchstens sagen, wieviele user sich in den z.b. letzten 2min deine seite angeschaut haben.

    lg /.\^/

    p.s. die suche im archiv funktioniert noch?