Zitat von da.eXecutoR
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
User Management wie aufgbauen ?
Einklappen
Neue Werbung 2019
Einklappen
X
-
apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]
-
Zitat von BlackScorp Beitrag anzeigenImplementiere Flash Webcam plugin in deine seite, sobald die leute draufgehen kannst du dann sehen was die zu hause tun
Wäre einfach interessant zu sehen wer sich grad auf dem System befindet, wieviele Leute angemeldet sind und wenn man mal was am System machen muss Ihnen eine Nachricht senden kann. ( Letzteres hab ich jetzt mit jqueryUI hinbekommen -> coolIt's not a bug. It's a feature!
Kommentar
-
Zitat von Arne Drews Beitrag anzeigenDas eine schließt das andre ja nicht aus.
Wobei ich mich frage, was Du mir "Session Ordner" meinst?
Ich würd folgende Ansätze beachten
1. User Verwaltung über Session-Management
2. Online-Status und letzte Aktivität der User in DB festhalten
3. CronJob, der alle Xmin/h die DB nach der letzten Aktivität abfragt und bei Inaktivität den Onlinestatus ausschaltet
EDIT
Session-Ordner war wohl als physikalischer Ordner im Dateisystem gemeint, den Du für die Session-Informationen verwenden wolltest?!
Dann gebe ich nikosch recht, das kann zum Wahnsinn werden...
Es reicht doch die letzte Aktivität in der DB immer zu aktualisieren und dann zu schreiben:
In den letzten 5 Minuten war 'Blubb' online.
o.Ä.
cu
Grüße
Destruction"Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]
Kommentar
-
Zitat von Destruction Beitrag anzeigenPunkt 3 finde ich ein wenig unsinnig
Es reicht doch die letzte Aktivität in der DB immer zu aktualisieren und dann zu schreiben:
In den letzten 5 Minuten war 'Blubb' online.
o.Ä.
cu
Grüße
Destruction
Der Ansatz mit dem CronJob ist schon richtig. Ich will schliesslich nur Online/Offline wissen.
Gruss
eXeIt's not a bug. It's a feature!
Kommentar
-
dann schränke die zeit ein wenn ein user 30 sekunden lang nichts gemacht hat auf der page, kannst du davon ausgehen dass er nicht mehr auf der page ist(wenn man keine langen texte auf der seite hat). bei mir sage ich einfach dass wenn ein user 1 minute nichts gemacht hat, ist der offline.apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]
Kommentar
-
und im welchen interval hast du vor ein ajax request zu senden? jede sekunde? also ich denke der server würde dir danken wenn du einfach nur anzeigst wann der benutzer das letzte mal was getan hatapt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]
Kommentar
-
Zitat von BlackScorp Beitrag anzeigenund im welchen interval hast du vor ein ajax request zu senden? jede sekunde? also ich denke der server würde dir danken wenn du einfach nur anzeigst wann der benutzer das letzte mal was getan hat
Nicht jede Sekunde, vielleicht jede Minute. Es handelt sich hierbei ja um eine Webapplikation und nicht eine Community Webseite. Das heisst der Besucher ist wohl möglich der ganze Tag eingeloggt auf der Seite, was aber nicht heisst dass er alle 10 Minuten darin rumklicken muss.
Und wenn es 500 Benutzer sind die gleichzeitig online sind, pro Sekunde macht dies dann 8.3 ajax requests. Dies sollte der Server schaffen denke ich
Aber klar ich geb dir Recht, es ist eine Ressourcennutzung die man mit einem kleinen Kompromiss einsparen könnte.
Ich finde den Punkt eben interessant eine Client/Server Anwendung via Web realisieren zu können mit allem was dazugehört. Wie hald auch nen KeepAlive traking in diesem Fall.
Mehr interaktivität anstatt der herkömlichen "PULL" Kommunikation.It's not a bug. It's a feature!
Kommentar
-
ragtek
Das mit dem AJAX Request hört sich nett an, habe ich auch mal umgesetzt, ABER =>
Wenn der Benutzer die Seite im Hintergrund offen hat (zB andere Tab, anderes Browserfenster) wird er weiterhin als "aktiv" gezeigt (WAS ER HIER ABER NICHT IST! ) und es werder unnötigerweise zig AJAX Requests an den Server gefeuert.
Edit: 500 Benutzer gleichzeitig +1 AJAX Request / Sek (zusätzlich zu den normalen Requests) = XXX; wie kommst du da auf 8.3?
Kommentar
-
ich würde sagen, verwende erstmal die übliche methode und warte bis WebSockets – Wikipedia ausgereift sind oder gar standard werden danach kannst du auf die sekunde genau prüfen ob der benutzer online ist.
aber mal zu den ajax geschichten, was willst du denn abfragen mit dem ajax request? letze aktion ? oder ob eine variable auf 1(true) gesetzt ist? du musst ja im grunde mit jedem user einen ajax request , jede minute an den server schicken um quasi bescheid zu sagen:"Hier ich bin noch auf der Seite". dann stimmt deine rechnung ja nicht mehr bei 500 besuchern, wären es 500 ajax requests an den server pro minuteapt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]
Kommentar
-
Zitat von ragtek Beitrag anzeigenEdit: 500 Benutzer gleichzeitig +1 AJAX Request / Sek (zusätzlich zu den normalen Requests) = XXX; wie kommst du da auf 8.3?
500 / 60 = 8,3.. Requests pro Sekunden
MfG
Kommentar
-
Zitat von gs93 Beitrag anzeigenEr will nur minütig Ajaxrequests senden.
500 / 60 = 8,3.. Requests pro Sekunden
MfGapt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]
Kommentar
-
Zitat von gs93 Beitrag anzeigenEr will nur minütig Ajaxrequests senden.
500 / 60 = 8,3.. Requests pro Sekunden
MfG
Genau Blackscorp, so hab ich mir das gedacht. Es geht aber noch weiter, ich hab das Gestern Abend auch mal kurz realisiert.
Ich hab einen Besucher im "Firefox" ( damit ich zwei Sessions habe ) der auf der Seite ist.
Mit dem IE füge ich in die MySQL Tabelle "Messages" eine neue Nachricht ein für den im Firefox eingeloggten Benutzer z.Bsp. "Hallo du kleiner FF User!"
Im Firefox erscheint dann automatisch nach 10 Sekunden via jqueryUI ein neuer Dialog mit "Hallo du kleiner FF User!"
Das ist wirklich coolIt's not a bug. It's a feature!
Kommentar
-
und wie hast du das realisiert? dein FF benutzer hat die ganze zeit ajax requests an den server geschickt, der server hat die nachricht aus der datenbank gelesen, und die dann angezeigt, richtig?
beim online status ist es ja anders. du musst mit jedem benutzer via ajax eine php datei ausführen, die in eine datenbank o.ä. reinschreibt :"Benutzer xyz ist online". Im admin interface fragst du dann die schnittstelle ab und lässt dir die online benutzer anzeigen. denn du hast keine andere möglichkeit von deinem admin interface(client) auf den benutzer der seite(client) zu zugreifen, du brauchst ein zwischenmedium. der client kommuniziert ja nur mit dem server und nicht mit anderen clients, es wäre eventuell mit sockets oder so realisierbar.
was ich halt sagen will du hast zur auswahl:
1) viele ajax requests an den server zu senden, also von jedem user aus
2) einfach prüfen wann der user seine letzte aktion ausgeführt hat
der rest wäre zu umständlich und auch unnötig , denke ichapt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]
Kommentar
-
Ja das ist richtig. Ich habe eine jquery funktion mit setIntervall welche in der messages table nach einer Nachricht sucht für den angemeldeten Benutzer und wenn vorhanden gibt er ein DIV mit dem Inhalt der Nachricht zurück. Die ajax Funktion erstellt darauf hin mit $('msgbox').dialog(); das Benachrichtigungsfenster.
Ja klar schickt jeder Client das KeppAlive request. Macht aber trotzdem nur 8.3 / Sekunde in meinem BeispielIt's not a bug. It's a feature!
Kommentar
Kommentar