php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack (1) Themen-Optionen
Alt 21.07.2005, 11:55  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.092
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard PHP Chat - was sollte ich beachten?

Hallo,
nun bin ich an dem Punkt angelangt, andem ich eine Chatsoftware fuer meine neue Community brauche, an der ich derzeit sitze. Da ich letztendlich doch nur Webhosting Kunde bin, bliebt mir ja eigentlich nichts anderes als ein PHP-Chat uebrig (Java hat mein Hoster nicht) .. Erstmal meine Frage, gibts da nicht doch irgendwie irgendwo Alternativen zum PHP-Chat?

Falls nein, werde ich wohl kaum drumherum kommen den Chat mittels PHP zu machen. Meine Frage hierzu, was sollte ich dabei beachten? Ich moechte beispielsweise erkennen, wann ein User nicht mehr im Chat ist (er hat sein Browserfenster geschlossen oder seine Internetverbindung wurde gekappt, http://de3.php.net/manual/de/feature...n-handling.php ) .. Jedoch brauch ich dazu eine (staendige) Ausgabe an den Browser http://de.php.net/flush ..

Ich weiss zwar, dass ein PHP Chat den Server unheimlich belastet (belasten kann), aber es wird wohl kein Weg drumherum fuehren. Mein Hoster erlaubt mir jedenfalls dein Einsatz eines PHPChats (frueher noch MyMazenPhpChat, http://www.mymazenphp.net/chat , heute allerdings nicht mehr so toll .. Damit das Script laeuft ist es z.b. unbedinge notwendig, register_globals auf ON (!) zu haben ... )

Meine Frage nun, was sollte ich unbedingt dabei beachten?
Chr!s ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.07.2005, 11:58  
Erfahrener Benutzer
 
Registriert seit: 01.06.2004
Beiträge: 721
suendesizer
Standard

Ähm, schau dir doch mal phpMyChat an (findest du auf HotScripts.org). Tja, du wirst wohl kaum eine Datenbak umherkommen, die aktuell angemeldete User erfasst und daurch den Benutzern die benötigte Informationen zukommen lässt.
__________________
If you read this message backward, Satan will force you to smoke marijuana.
Gute Tutorials
suendesizer ist offline  
Alt 21.07.2005, 12:05  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.092
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Ich hatte mir MyMazen PHP-CHat schon angeschaut, aber erstmal Danke für die Info. Was ich gerade dazuschreiben wollte (vorhin vergessen hatte), ich möchte den Chat aufjedenfall selbst programmieren. Nun, das Chatsystem soll auf vStreams ("virtuellen Streams") basieren, soll heißen das Chatausgabefenster reloadet sich nicht ständig, sondern es wird mittels connection_aborted() und ignore_user_abort() ein vStream aufgebaut, in etwa so:
PHP-Code:
<?php
while( (!connection_aborted() || connection_status()==) && $id == $dbid && $dbsecurecode == $securecode)
{
        
// Hier wird dann abegfragt, ob eine neue
        // Message-ID in der Datenbank vorhanden ist
        // [...]

        
flush();
        
sleep(1);
}
?>
Flush ermöglicht mir, connection_aborted() einzusetzen, und Sleep ist einfach da um die Db ein bisschen zu entlasten.. Ich weiß dass hier das Thema PHP-Chat schon oft besprocehn wurde (hab mir auch die Themen durchgelesn), ich wollte nur ein paar Tips von euch sammeln dazu, was ich beachten soll
Chr!s ist offline  
Alt 21.07.2005, 12:06  
Gast
 
Beiträge: n/a
Standard

Hi,

ich wuerde einfach die SessionID in die DB uebernehmen und bei jedem Aufruf den Zeitpunkt in die DB schreiben.
Falls nun einer der Chatpartner laenger als beispielsweise 5 Aktualisierungen weg ist, so kann das das Script beim anderen feststellen (wenn der Zeitpunkt des Abwesenden zu sehr veraltet ist) und anzeigen.

Ansonsten fuer die Anzeige halt mit 2 Frames machen.
Der obere (Chatanzeige) laedt sich immer wieder neu.
Der untere hat das Formular mit input-Feld fuer den Text (laedt nicht automatisch neu ^^).

register_globals brauchste bei sowas dann nicht.

Wenn du noch Fragen hast melde dich.

Gruss
 
Alt 21.07.2005, 12:08  
Gast
 
Beiträge: n/a
Standard

Hmm wenn du eine ewig while()-Schleife hast kommst du aber ueber die maximale Ausfuehrungszeit von 30Sekunden normalerweise hinaus ^^
 
Alt 21.07.2005, 12:10  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.092
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Frameset habe ich mir so gedacht, oben eins, unten eins (texteingabe), und rechts (Anzeige für die User online).. Also die max_execution_time setze ich mit set_time_limit(0), ist getestet und Funktioniert bei dem Script auch..
Zitat:
Der obere (Chatanzeige) laedt sich immer wieder neu.
Wie gesagt, das ganze basiert auf den Streams..
Chr!s ist offline  
Alt 21.07.2005, 12:12  
Gast
 
Beiträge: n/a
Standard

Ja daran dachte ich auch ^^

Mit dem dauerhaften PHP-Aufruf haste vllt den Vorteil, dass der User nicht dauern eine neue Anfrage an den Webserver sendet.
Waere bisschen leistungssparend.

Find aber die Idee mit den VStreams saugeil.

3 Tage im Board und sauviel gelernt ^^

Gruss
 
Alt 21.07.2005, 12:19  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.092
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Also ich bin ja auch eigentilch nicht sehr ueberzeugt davon, einen CHat in PHP zu schreiben, aber was solls, ich brauch einen, IRC will ich nicht, also bleibt mir ja fast nichts anderes uebrig.. Die vStreams wuerden mir erst einmal doch eine Menge Traffic erspraren (10 User im Chat, alle 3 Sekunden reload bei etwa 1 KB macht das nach einigen Minuten schon was aus) ..

Meine Ueberlegung dazu war eben, dass die DB (von jedem User) jede 1-2te Sekunde angefragt wird, ob eine neue Message ID vorhanden ist (diese Abfrage kostet ja noch nicht allzuviel Leistung) .. Wenn ja, wird erst dann die neue(n) Nachricht(en) geholt und ausgegeben.. Ist ja schonmal ein recht großer Vorteil den Reload-Chats gegenueber..
Chr!s ist offline  
Alt 21.07.2005, 12:25  
Gast
 
Beiträge: n/a
Standard

Ja und man hat (wie es bei ISDN ja vorkommen kann ^^) nicht immer mal wieder weissen Hintergrund, dann Text, Hintergrund, Text...
Besonders wenn der Chat laenger wird.

Gruss
 
Alt 21.07.2005, 12:30  
Benutzer
 
Registriert seit: 06.10.2004
Beiträge: 80
Xfer
Standard

Hi,
hier sind noch ein paar Beispiele für PHP-Chats:

http://www.zend.com/codex.php?CID=272

cu
Xfer
Xfer ist offline  
 


Themen-Optionen


LinkBacks (?)
LinkBack to this Thread: http://www.php.de/php-tipps-2005-2/27220-php-chat-sollte-ich-beachten.html
Erstellt von For Type Datum
Suchen Sie im ganzen WorldWideWeb auf Croole. This thread Refback 03.12.2008 01:00

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Chat PHP-Fortgeschrittene 9 13.02.2010 19:18
Chat programmieren => Was beachten? noBody PHP Tipps 2008 10 01.08.2009 11:30
JavaScript Chat Apfeltyp PHP Tipps 2006 3 28.02.2006 15:46
1zu1 Chat :?: Beitragsarchiv 2 18.11.2005 13:21
Chat Öffnungszeiten PHP Tipps 2005-2 8 27.10.2005 19:59
[Erledigt] Chat, PHP, Flash, XML, MySQL?????? PHP-Fortgeschrittene 2 06.09.2005 08:17
ein chat der die diskussion abspeichert PHP Tipps 2005-2 3 23.08.2005 22:20
Chat System Chat System Beitragsarchiv 3 21.06.2005 17:07
irc chat ständig offen halten (verboten) kid01 Off-Topic Diskussionen 11 30.05.2005 10:01
PHP live chat PyroMatrix PHP Tipps 2005 13 17.02.2005 02:10
Chat für Phpkit CMS Beitragsarchiv 6 07.02.2005 14:16
Ein chat in ein php forum einbauen ? wie? PHP Tipps 2005 1 01.02.2005 18:04
[Erledigt] Chat Server mit Datenbank realisieren - - - Hilfe benötigt PHP Tipps 2004-2 3 14.12.2004 18:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php chat, phpchat, php chat schreiben, php chat was sollte ich beachten, mymazenchat, http://www.php.de/php-tipps-2005-2/27220-php-chat-sollte-ich-beachten.html, php chat flush, php chat programmieren, chat programmieren, php chat leistung, chat in php schreiben, eins zu eins chat mit php, mymazenph.net, mymazenphp hilfe, php chat beachten, mymazenphpchat, was muss man beim scheten beachte, php chat system, php flush chat, php code chat

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.