| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ich habe das so gemacht, dass der Chat selbst für das An- und Abmelden verantwortlich ist. Da der gesamte Chat mit JavaScript läuft, ist das auch gar kein Problem. Beim onunload-Event sendet der Chat seine Verabschiedung an den Server und gut ist. Für den Fall, dass dabei etwas schief geht, hat der Server selbst auch noch ein Timeout eingebaut, sodass User, die länger als x Minuten kein Keepalive-Signal gesendet bzw. einen Chat-Refresh durchgeführt haben, aus der Liste gelöscht werden.
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” |
| |
| | |
| Gast
Beiträge: n/a
| okay mal genauer (sry war in skiurlaub) Ich habe eine Chat in einem Browsergame, ich muss alle 2 Sekunden überprüfen ob der User online ist, da ich nicht weis wann er sich ausloogt(kann die seite einfach verlassen wenn er will) Nun ist ja das Problem das er die MYSQL abfrage jede 2 Sekunden für 20 eingeloogte User macht. 1. andere möglichkeit mit dem chat Weis nicht ob es besser ist wenn ich vllt jede 2 Sekunde nen Cronjob losschicke und das Ergebniss der Abfrage in eine .txt schreibe, dann müssen die 20 leute jede 2 sekunde nur diese .txt laden 2. andere möglichkeit mit dem chat Könnte auch beim schreiben in den Chat eine txt datei verändern , so müssen die user auch nur diese .txt laden 3. andere möglichkeit zum erkennen wer online ist wenn jemand online geht schreib ich in die db "online" mit den html tag onexit schreib ich dann offline in die db Welche wird die beste möglichkeit sein |
| | |
| Moderator Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | siehe #5... ajax benutzen für das keep-alive signal... genauer wirst du es nicht hinbekommen, selbst messenger wie icq merken in manchen fällen nicht das der user gar nicht mehr online ist und die haben die eindeutig besseren Möglichkeiten |
| |
| | |
| Gast
Beiträge: n/a
| was haltet ihr davon: man loogt sich ein , in der db wird der status auf online gesetzt falls keiner vor ihm online war bekommst er den status als "lader" dh er lädt die wer ist online anzeige sowie den chat jede 5 sekunden und speichert die ergebnisse in eine txt datei die anderen user müssen dann nur per ajax die 2 txt datei laden falls der user das spiel mit onunload oder ohne aktion nach minuten verlässt gibt er einen anderen user den status loader und dieser muss dan die daten laden wie wär das? so gibts für die 2 sachen für die db pro sekunde nur 2 abfragen nur muss ich schauen wie ich den user mittelen kann das er nun der "loader" ist mfg |
| | |
| Moderator Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Was du da versuchst ist eine Art caching, aber da gibt es bessere Möglichkeiten. Du lädst generell die Daten aus einer Textdatei, meinetwegen alle 2 sekunden oder wie auch immer. Ändert sich der Status eines Users (on-/offline) wird eine neue Textdatei mit Timestamp im Filename angelegt und die alte gelöscht. Findet einer der User also seine alte Textdatei nicht mehr, nimmt er die neuste. Ansonsten wieder die gleiche. Somit würdest du, angenommen es sind 2 Stunden lang immer die gleichen User online, in den 2 Stunden nicht einmal die Datenbank für den Status brauchen. Bein Chat selbst ist caching auf dem Server blödsinn, da sich die Daten zu oft ändern. Hier würde ich auf dem Client "cachen" indem du immer nur die noch nicht abgerufenen Texte per AJAX nachlädst. |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| User Online nie gleich 0 | DiamondDog | PHP Tipps 2008 | 4 | 22.08.2008 10:06 |
| FTP-Funktionen: Können 2 Leute mit selben User online sein? | ggfan | PHP Tipps 2005-2 | 1 | 11.08.2005 13:13 |
| user online counter | $$$ ThiKool $$$ | PHP Tipps 2005-2 | 3 | 01.07.2005 22:24 |
| Online User | PHP Tipps 2005-2 | 9 | 15.06.2005 23:46 | |
| Alle user die online sind anzeigen - wann und wie löschen? | PHP Tipps 2005 | 11 | 24.05.2005 16:01 | |
| MIt einer Session ID den User überprüfen | PHP Tipps 2005 | 8 | 17.02.2005 13:55 | |
| user online! ist mein weg richtig? | Fraylman | PHP Tipps 2004-2 | 8 | 10.12.2004 10:15 |
| Anzeigen User Online + Nicks | Ypsillon | PHP-Fortgeschrittene | 4 | 12.11.2004 14:09 |
| user online | PHP Tipps 2004 | 4 | 26.09.2004 22:59 | |
| User online? | Creativ | PHP Tipps 2004 | 1 | 17.08.2004 22:34 |
| User Online | PHP Tipps 2004 | 5 | 17.08.2004 13:27 | |
| überprüfen ob user bereits eingeloggt ist | Simbo | PHP Tipps 2004 | 1 | 09.07.2004 01:56 |
| user online | PHP Tipps 2004 | 4 | 30.06.2004 23:05 | |
| User online | Simon9990 | PHP Tipps 2004 | 8 | 17.06.2004 00:25 |
| user überprüfen | PHP Tipps 2004 | 1 | 16.06.2004 16:02 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php überprüfen ob user online, php online prüfen, php prüfen ob user online, php prüfen wer online ist, php online überprüfen, prüfen ob user online php, php prüfen ob user online ist, php überprüfen ob user angemeldet, http://www.php.de/php-einsteiger/50232-ssoeberpruefen-ob-user-online.html, php online überprüfung, überprüfen ob jemand online ist, überprüfen ob user online, überprüfen ob user online php, user online php, icq online überprüfen, php online benutzer, icq überprüfen ob jemand online ist, icq online prüfen, php prüfen kunde online, php prüfen ob user angemeldet |