XChat - Ein einfaches CGI-Chatprogramm
Mit Hilfe dieses Programmes läßt sich ein einfacher Chatraum eröffnen, welcher auf CGI basiert, d.h. weder die Vorteile noch die Nachteile eines JAVA-basierten Chats besitzt.
Der Chat besitzt die Kommunikationsformen: /p>
- say - für normale Textnachrichten,
- whisper - für geflüsterte Nachrichten,
- shout - für wichtige Nachrichten,
- social - für vordefinierte Aktionen, und
- emote - für eigene Aktionen.
Außerdem lassen sich die eingeloggten Benutzer anzeigen.
Zum Design bietet das Chat zum einen ein Standard-Design an, welcher sich am besten in einem Frameset
anzeigen läßt. Zum anderen bietet das Chat die Möglichkeit, eigene Layout-Dateien mit
vorgegebenen HTML-Designs zu verwenden um so dem Chat ein individuelles aussehen zu geben.
Source Code und Beispiel-Datendateien
| Perl Sourcecode | |
| xchat.pl | Das Skript xchat.pl |
| web.pm | Das Perlmodul web |
| Datendateien | |
| socials.dat | Diese Datei enthält eine Liste an vorgegebenen Socials, Chathandlungen, welche bei belieben erweitert oder verändert werden kann. | Achtung: Sollte beim obigen Download-Link fehlerhafterweise als Dateiname "xload.cgi" angegeben sein, ignorieren Sie dies und benennen den Dateinamen um. Einige Browser ignorieren leider den Standard zur Übermittlung von Dateinamen... |
Wirkungsweise
Der folgende Link öffnet ein Fenster zum Xwolf-Chatraum: XWolf Chat
Installation
Kopieren Sie die Datei xchat.pl in Ihr CGI-BIN-Verzeichnis. Setzen Sie die Ausführungsrechte mittels CHMOD.
Z.B.: chmod 755 xchat.pl.
Ändern Sie im Programm minimal folgende Zeilen:
| Zeile 1: #!/local/bin/perl5 | Geben Sie hier Ihren eigenen Pfad zu Perl ein, falls er von diesem abweicht. |
| Zeile 25: use lib '/home1/xwolf/www/misc/web'; | Sollten Sie das Modul web.pm in Ihrem Perl Library Verzeichnis installiert haben, können Sie diese Zeile auskommentieren oder löschen. Ansonsten geben Sie hier den Pfad zu der Datei web.pm an. |
| Zeile 80: $SOCIAL_FILE = "socials.dat"; |
Die Social-Datei. In dieser Datei sind definierte virtuelle Handlungen
definiert, wie z.B.: 'dance' : (NAME) starts to dance and hops everyone on the feet.
Syntax der Datei:
COMMAND_NAME #USERNAME# textwobei #USERNAME# durch den Namen des Chatters ersetzt wird. In den Socials koennen auch HTML-Tags definiert sein. Diese Datei muß für den Webserver lesbar sein. |
| Zeile 89: $USERDATA_FILE = "user.dat"; | Diese Datei wird vom Chatprogramm verwaltet und enthält die dynamische Liste der Teilnehmer. Diese Datei muß für den Webserver les- und schreibbar sein! |
| Zeile 92: $chatdata_file = "chat.dat"; | Diese Datei enthält die Texte des Chats, inkl. der Benutzerkennungen und den Statusinformationen. Diese Datei muß für den Webserver les- und schreibbar sein! |
Wenn Sie diese Zeilen ändern sehen Sie weitere mögliche Einstellungen im Programm. Diese sind dort explizit beschrieben, müssen aber damit der Chat läft nicht geändert werden.
Bemerkung
Chats, welche nur auf CGI basieren und nicht auf Java sind nicht sehr benutzerfreundlich.
Damit sie funktionen, muß der Browser des Benutzers dazu gezwungen werden, immer wieder
die betreffenden Seiten neu zu laden. Dies ist besonders bei schlechten Anbindungen ins Internet
auf lange Sicht nicht tragbar.
Nicht zu vergessen ist auch die Belastung des Webservers, auf dem der Chat läft.
Ein professionelles Chatsystem kann daher meiner Meinung nach, nicht allein auf CGI beruhen, sondern muß eine JAVA- oder Clientseitige-Komponente besitzen, so daß das Chatsystem von sich aus den eingeloggten Teilnehmern die neuen Daten dann liefern kann, wenn Sie anfallen. Und das ohne, daß der Browser vorher wieder eine Verbindung zum Server aufbauen muß um die neuen Daten anzufordern.
Da aber die Installation solcher Chatsysteme gewisse Systemkonfigurationen und Fachwissen vorraussetzt, ist ein CGI-Chat für den Privat- und Semiprofi-Bereich eine gangbare Alternative, welche jedoch nicht überbewertet werden darf.
Ich selbst empfehle die Nutzung eines freien oder kommerziellen IRC-Server-Anbieters, wie zum Beispiel Kickchat, bei dem man sich ein IRC-Channel registrieren. IRC-Chats kann man dann sowohl mit einem Java-Client ansprechen, als auch mit eigenen IRC-Clients, wie zum Beispiel ChatZilla.


