Benutzeranzahl eines Programms einsehen

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von Killerjo96.

    Benutzeranzahl eines Programms einsehen

    Hallo zusammen,

    Ich habe ein Internet-Radio geschrieben, wo ich jetzt noch die Funktion einbauen wollte,
    dass man im Radio (z.B. über ein Label) die Useranzahl sehen kann.

    Dazu habe ich momentan nur die Methode per FTP im Kopf:

    Variante 1:
    Bei Programmstart wird eine Datei (UserCounter.txt) vom FTP-Server heruntergeladen und ausgelesen.
    Sie enthält lediglich eine Zahl. Diese wird dann mit 1 addiert und wieder hochgeladen (überschrieben).
    Beim beenden wiederholt sich der Vorgang, jedoch wird die Zahl mit 1 subtrahiert.

    Eventuelles Problem: Wenn ein oder mehrere User eine schlechte Internet-Verbindung haben,
    und z.b. die Datei nicht schnell genug wieder hochladen können, verfälscht sich dadurch die Useranzahl.


    Variante 2:
    Nach Programmstart wird eine leere Datei mit einem generierten Dateinamen erstellt und auf den FTP Hochgeladen.
    Vorher aber wird einfach die Anzahl der Dateien gezählt und im Label angezeigt.
    Beim Beenden wird diese Datei anschließend wieder gelöscht.

    Eventuelles Problem: Es könnte passieren, dass zufällig 2 oder mehrere nahmen gleich generiert werden,
    sodass auch hier die Useranzahl verfälscht wird. Ich könnte es zwar noch mit einem FileExist-Event beheben,
    jedoch habe ich auch keine Lust, z.b. 2594 sinnlose Dateien auf meinem FTP zu haben ^^



    Gibt es sonst noch eine evtl. sogar noch bessere Varianten bzw. Methoden, als die, die oben aufgelistet sind?


    Danke und Gruß
    TRiViUM
    Lass das mit FTP! Ich hoffe, dir ist bewusst, dass jeder (der sich halbwegs auskennt und/oder sich ein wenig damit beschäftigt) die kompletten FTP-Daten deines Servers (inkl. Passwort!) auslesen kann, wenn du sie einfach ins Programm einbaust!
    Die meiner Meinung nach einfachste Möglichkeit wäre, dass du dich ein bisschen mit PHP auseinandersetzt, und immer, wenn die Datei aufgerufen wird, das in einer MySQL-Tabelle oder Textdatei eingetragen wird, für das Beenden halt das selbe mit einer anderen Datei oder der selben mit anderen Parametern. Natürlich könnte auch da jemand die Userzahl beabsichtigt verfälschen, aber er hätte wenigstens nicht gleich kompletten Zugriff auf deine Dateien!
    Da gebe ich dir recht.
    Darum ja meine Frage, ob es eine Andere Methode gibt.

    Die 2 Varianten von mir würden ja Funktionieren, aber sind eher weniger sicher.
    Es sei denn, ich verschlüssel die Login-Daten, sofern möglich.

    Mit PHP hab ich noch gar nix am hut.
    Hatte ich eigentlich auch nicht vor.
    Aber diese Methode klingt auch schon mal gut.

    EDIT:
    Also wenn ich mir so den Code für das PHP-Gedöns anschau... ?(
    dauert das ja auch wieder ne weile, bis man sich da Reingefuchst hat.

    Gibt es sonst noch eine Weitere/ Einfachere Methode?

    Edit by hal2000:
    - ROT ist nur für Moderatoren / Admins. Bitte darauf achten!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „hal2000“ ()

    Ich hab genau das selbe auch schon mal gemacht, leider kann ich dir davon den Source nicht geben, weil das Programm längst geändert wurde und diese Funktion (tatsächlich?) nicht mehr darin existiert. Auf jeden Fall konnte man sich (optional) im Radio auch anmelden und dann wurde in einer MySQL Datenbank ein Wert von 0 auf 1 gestellt, bedeutet das er online war. So und dann einfach mit nem PHP Script die Anzahl liefern lassen wie viele User 1 sind (Online). Wenn man sich nicht angemeldet hat, wurde die IP + PC NAME gespeichert und Name,Vorname anonym. Und dann bei der IP die in Frage kommt einfach ne 1 für Online. Für´s eintragen hab ich auch ganz einfach PHP GET und POST verwendet wie ein Vorposter hier erklärt hat. Wenn du möchtest kann ich dir auch kleine Beispiele dafür schreiben, hab nur momentan wenig Zeit, wenn dann heute Abend so gegen 9 Uhr. :thumbup:

    Killerjo96 schrieb:

    Ich hab genau das selbe auch schon mal gemacht, leider kann ich dir davon den Source nicht geben, weil das Programm längst geändert wurde und diese Funktion (tatsächlich?) nicht mehr darin existiert. Auf jeden Fall konnte man sich (optional) im Radio auch anmelden und dann wurde in einer MySQL Datenbank ein Wert von 0 auf 1 gestellt, bedeutet das er online war. So und dann einfach mit nem PHP Script die Anzahl liefern lassen wie viele User 1 sind (Online). Wenn man sich nicht angemeldet hat, wurde die IP + PC NAME gespeichert und Name,Vorname anonym. Und dann bei der IP die in Frage kommt einfach ne 1 für Online. Für´s eintragen hab ich auch ganz einfach PHP GET und POST verwendet wie ein Vorposter hier erklärt hat. Wenn du möchtest kann ich dir auch kleine Beispiele dafür schreiben, hab nur momentan wenig Zeit, wenn dann heute Abend so gegen 9 Uhr. :thumbup:


    Das klingt ja schonmal cool.
    Ist auch kein Problem, habe frühschicht, dann bin ich warscheinlich schon am schlummern, sehe ich dann morgen Nachmittag :)
    schattenbaum.net/php/
    Da hab ichs mir selber beigebracht, ist eigentlich gar kein so großes Problem.
    Du musst eigentlich lediglich
    1.) eine Datei auslesen
    2.) zur darin enthaltnen Zahl 1 addieren/subtrahieren.
    3.) die Datei wieder abspeichern.
    Alternativ geht auch MySQL, wird aber nicht von allen Servern unterstützt.

    kassor schrieb:

    Doof nur wenn bei einem User das Programm abschmiert oder seine internetverbindung verliert und nicht mehr online kommt. Dann bleibt der Wert in der DB weiterhin auf 1. :P
    Stimmt :D

    Wie machen es denn die Internet-Radios z.b. von T4e, oder Allgemein die von WeAreOne ?

    Wenn es abschmiert dann gibts wohl keine Möglichkeit, wobei das Radio z.b. eine Art Verbindung aufhält und sobald diese weg ist, ist der User halt offline.
    Theoretisch ^^
    Die haben Server und nen TimeOut eingestellt, naja aber ganz ehrlich wie oft passiert es das jemandem das internet abschmiert und ab dem Tag das Radio nie mehr benutzt, wenn man es wirklich so genau machen möchte, könnte man ja noch einbauen das man den PC mit nem Server oder sogar jedes einzelne Radio die Datenbank ausliest und versucht die PC´s anzupingen ... ansonsten Wert zurück setzen, ist ein System das ich mir damals ausgedacht hat, was SEEHR gut funktioniert hat. Ich hatte keinen Windows Server konnte also keinen Server laufen lassen der ständig die Datenbank durchforstet und dann hab ich das einfach die Clients selber machen lassen, die haben sich alle Eintrage aufgeteilt und dann angepingt (ist ja auch nicht verboten).. 8o

    Edit:

    Bei Radiosendern ist das allgemeint so, das du in einem Stream bist, und wenn du dort deine Internetverbindung verlierst kommt bei dir auch nichts mehr an und dann kicken die dich raus, ist genau wie bei TCP es steht ständig eine Verbindung und wenn die von einem Benutzer auf einemal weg ist, biste rausgeflogen.

    Killerjo96 schrieb:

    Bei Radiosendern ist das allgemeint so, das du in einem Stream bist, und wenn du dort deine Internetverbindung verlierst kommt bei dir auch nichts mehr an und dann kicken die dich raus, ist genau wie bei TCP es steht ständig eine Verbindung und wenn die von einem Benutzer auf einemal weg ist, biste rausgeflogen.
    Wie ich mir schon gedacht habe. Mit Datenbanken bin ich genau auf so nem Level wie mit PHP, nämlich "0" :thumbsup:

    Das das sehr gut gefunzt hat, was du da meintest, glaub ich dir.

    Dann machen wir das wieder so, wie du es damals hattest, dann können weitere User sich das ebenfalls angucken, ohne n neuen thread erstellen zu müssen ;)

    SpaceyX schrieb:

    Hey,

    verstehe ich richtig, dass Dein Radio den Stream bereitstellt...? Quasi Dein Radio ist der Server?
    nee leider nicht, man kann nur lediglich n server wählen, mit dem man streamen will :P
    Eigentlich so die gängigen (FFH, Planet, und n paar von WeAreOne)








    Hier mal das (gute:P ) ding
    Dateien
    • MiniRadio.zip

      (773,99 kB, 60 mal heruntergeladen, zuletzt: )
    Na dann ist ja Dein Vorhaben nur dann zu realisieren, wenn Dir der entsprechende Stream-Host (Server) Dir diese Information bereitstellt. Musst halt mal auf deren Homepages guggn, ob sie diese Information bereitstellen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    SpaceyX schrieb:

    Na dann ist ja Dein Vorhaben nur dann zu realisieren, wenn Dir der entsprechende Stream-Host (Server) Dir diese Information bereitstellt. Musst halt mal auf deren Homepages guggn, ob sie diese Information bereitstellen.
    Mal schauen, wie ich das mache.

    Killerjo96 schrieb:

    Das stürtzt bei mir ab xD
    Mit irgend einer Fehlermeldung? wurde mit .Net Framework 4 zusammengebastelt.
    Falls du nur doppelklick auf die exe gemacht hast, ist das verständlich.

    Du musst die beiden Dlls noch auch mit extrahieren ;)
    Probier mal, den Ordner in dem Zip-Ordner (WebRadio) auf den Desktop zu ziehen.
    Und versuch dann nochmal, es zu starten.

    EDIT:
    Kann das noch mal jemand testen, ob es auch abstürzt?
    Wichtig ist, es muss der Ganze Ordner Extrahiert werden.

    Danke ^^

    Hier nochmal der Zip-Ordner

    Edit by hal2000:
    - ROT ist nur für Moderatoren / Admins. Bitte darauf achten!
    Dateien
    • MiniRadio.zip

      (773,99 kB, 61 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „hal2000“ ()

    Nein Sorry funktioniert definitiv nicht. Habe auch versucht mit Admin auszuführen - Vergeblich. Im Anhang nen Screen. Also das Startbild kommt noch, danach allerdings sofort Absturz mit folgender Fehlermeldung:
    Bilder
    • screen.PNG

      194,6 kB, 1.262×682, 88 mal angesehen