PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   BRAINSTORMING PHP/SQL/HTML/JS/CSS (https://www.php-resource.de/forum/brainstorming-php-sql-html-js-css/)
-   -   Wer ist tatsächlich gerade online? (https://www.php-resource.de/forum/brainstorming-php-sql-html-js-css/76300-wer-ist-tatsaechlich-gerade-online.html)

deschmiddi 27-09-2006 16:47

Wer ist tatsächlich gerade online?
 
Hi Leutz, bräuchte mal euere Hilfe bezüglich folgendem Thema.
Bin gerade für ein größeres Projekt eine Buddyliste und ein darin integriertes Messenger system am schreiben. Besonders wichtig hierfür ist es, möglichst genau abzufragen, wer gerade tatsächlich online ist.

Hier bei gibts genau dann probleme, wenn sich der user nicht ordnungsgemäß beim verlassen der seite ausloggt, bzw. eine neue Adresse in den Browser eingibt, und somit ohne Logout die Seite verlässt. Jene Personen werden dann (ich arbeite mit Sessions) je nach Laufzeit der Session erst nach einer gewissen Zeit ausgeloggt.

Nun bin ich selbst in einer Community namens Gesichterparty angemeldet und habe nach einigen Test festgestellt, dass dort eine Lösung für dieses Problem gefunden wurde. Bleibt der User auf der Seite und loggt auch nicht aus, dann ist dieser 4 Stunden oder mehr online, verlässt er jedoch die Seite durch schließen des Browsers mit "X" ohne vorherigen Logout, so loggt deren System die Person nach spätestens 2-3 minuten automatisch aus.

Was ich gerne wissen würde ist: Wie funktioniert so etwas, hat da jemand eine Idee?
Wäre euch für Vorschläge bezüglich dessen sehr dankbar.

Mfg Marc
Das genannte Beispiel könnt ihr übrigens gerne selbst austesten wenn ihr wollt. Einfach auf www.gesichterparty.de anmelden und testen.

wahsaga 27-09-2006 16:56

Re: Wer ist tatsächlich gerade online?
 
Zum Thema "User online" gab es schon etliche Diskussionen, das alles nochmal durchzukauen habe ich jetzt keine Lust.


Prüfen, ob der Nutzer "noch da" ist (im Sinne von hat er die Seite noch geöffnet) könnte man natürlich, in dem man in regelmässigen Intervallen per AJAX eine kurze Rückmeldung an den Server sendet.

MoRtAlAn 27-09-2006 16:56

ähm... das ist keine spezielle lösung...

du hast mehrere möglichkeiten, wenn der user auf deiner seite ist...

beim neuladen/wechseln innerhalb der seite die lifeteime verlängern
wenn kein neuladen seitens des benutzers stattfindet über ein iframe oder ähnliches "kontakt" zum server aufbauen, damit er weiß, dass der user noch auf der seite ist -> ebenfalls verlängerung der lifetime...

verlässt der user die seite woanders hin oder schliesst er den browser kommt für den server nix mehr, sprich du kannst ihn ausloggen

wie gesagt realisierbar z.b. mit iframe, ajax... gibt auch noch andere möglichkeiten

nötig für das ganze ist allerdings, die letzte aktualisierung oder den "ablauf der session" irgendwo vorzuhalten (am besten datenbank)...
dann alle paar minuten ein kontrollskript laufen lassen, was die entsprechenden user ausloggt

gruss

deschmiddi 27-09-2006 17:05

OKay soweit hab ich das ganze verstanden.
Wo finde ich denn mehr informationen zu ajax und dem ganzen?
Dachte bis jetzt immer, das Ajax wiederum auf ein php-script zurückgreift... dass die sache regelt. Also funzt das in Wirklichkeit so, dass das ajax script den rechner des Benutzers requestet und wenn keine Antwort mehr zurück an den Server kommt ist er offline oder wie?

Sorry dass ich nochmal nachhake aber ajax ist noch Neuland für mich.
Gruß Marc

MoRtAlAn 27-09-2006 17:12

http://de.wikipedia.org/wiki/Ajax_%28Programmierung%29

wahsaga 27-09-2006 17:28

Zitat:

Original geschrieben von deschmiddi
Also funzt das in Wirklichkeit so, dass das ajax script den rechner des Benutzers requestet und wenn keine Antwort mehr zurück an den Server kommt ist er offline oder wie?
:goth: natürlich nicht.

deschmiddi 27-09-2006 17:40

okay danke erst mal. Meld mich wieder wenn ich nicht weiterkomme.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:50 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG