LinuxNetMag
Chat für Ihre Homepage
Archiv | Home
Inhalt
   
LinuxNetMag #4

  Software
 Aktuell
kurz vorgestellt
 HTML
Web Preprozessor
HTML-Editoren
 Internetradio
eigene Radiostation
Web-Jukebox IceDJ
 Spiele
Rennspiele
Entwicklung: XTux
 Astronomie
Sternenkarten
Flug durch Sonnensystem
Doppelsterne simulieren
  
 

Hardware

Kernel kompilieren
Soundkarte als Oszilloskop
Grafikkarten im Vergleich
  
 

Netzwerk

Web-Seiten überprüfen
Samba Teil II
Chat für Ihre Homepage
FTP-Server & Clients
Modem-sharing
Links
  
 Wissen
Der Bootprozeß
Gimp-Kurs Teil 1
Gimp-Kurs Teil 2
  
 

Sonstiges

Mailing-Liste
Gästebuch
Artikelliste
Unterstützen Sie uns !
zurück zur Hauptseite



Druckversion


  Chat Sie wollen auf ihrer Webseite den Besuchern die Möglichkeit geben, miteinander zu chatten? Es gibt dafür mehrere Möglichkeiten, dies per CGI und/oder SQL zu ermöglichen.
Der Systemadminstrator wird sich bedanken ...


Wie chatte ich richtig?

Chatten per CGI-Script und SQL-Datenbank ist zwar möglich, allerdings auf keinen Fall empfehlenswert (auch wenn man immer wieder Seiten findet, die dies benutzen). Die Belastung für den Rechner ist dermaßen groß, daß kaum noch Resourcen für andere Arbeiten übrig bleiben.
Deshalb sollte man sich lieber für eine Client/Server-Lösung entscheiden, auch wenn dies den Nachteil hat, daß sich der Besucher in der Regel zusätzliche Software herunterladen muß (entweder in Form eines Java-Applets oder gar einen betriebssystemspezifischen Chatclient). Dies scheint zwar auf dem ersten Blick als lästig, allerdings gleicht sich dieses mehr als genug dadurch aus, daß wohl kaum ein CGI-Script annähernd den Komfort eines echten Chat-Clients bieten kann.
Aus diesem Grund haben wir auch nur Server/Client-basierende Chat-Programme aufgenommen.

SpanielChat

SpanielChat ist komplett in Java geschrieben, sowohl der Server als auch der Client, der als Applet realisiert ist.
Zwar ist die Systembelastung des Java-Servers, während er läuft, recht gering, allerdings muß bei Java-Programmen beim starten immer die Komplette Java Virtual Machine mitgestartet werden, welche bedeutend mehr Ressourcen benötigt.
Die Installation von Spaniel-Chat gestaltet sich als überaus einfach. Einfach das Programm entpacken und in ein Unterverzeichnis des Web-Servers kopieren.
Befindet sich das Verzeichnis im $PATH, dann reicht ein

>> java SpanielChatServer& 
um den Server zu starten. Wählt man jetzt im Browser die vom Programm mitgeliferte Seite "client.html", dann wird automatisch der Connect zum Server hergestellt, und der Client öffnet sich in einem neuen Fenster. Dadurch kann man im Hintergrund den Browser zum Surfen weiterbenutzen.
Keine IP oder Portnummer muß eingestellt werden (solange man den Standardport verwenden möchte). Einfacher läßt sich eine Installation wohl nicht mehr gestalten.

Der Chatclient zeichnet sich durch einfache Bedienung aus. Er bietet verschiedene Themenbezogenen Chaträume, die auch abschließbar sind, um nicht von ungebetenen Gästen gestört zu werden.
Wenn man zum Chatten aber nicht immer den Webbrowser starten will, kann man den SpanielChatClient auch im Appletviewer starten, welcher Bestandteil des JDK (Java Developement Kit) ist.

>> appletviewer http://www.server.de/spanielchat/client.html&
Somit läßt sich der Client wie jedes andere Programm auch aufrufen und Nutzen.
Das Programm findet man unter http://www.searchspaniel.com/chatserver.html.

Javachat, Naken Chat, Melange und chatapplet

Javachat ist ein reiner Chat-Server, und -wie der Name schon vermuten läßt- in Java geschrieben. Um auf dem Server chatten zu können, benötigt man keinen speziellen Client, sonder kann sogar mit jeglichem telnet-Programm einen Connect zum Server herstellen.
Es genügt ein einfaches

>> telnet mein.server.de 6666
um die Verbindung herzustellen (standardmäßig benutzt Javachat den Port 6666).
Allerdings ist die Bedienung per Textkommando nicht besonders intuitiv, deshalb gibt es auch für Javachat mittlerweile Clients mit ansprechender Benutzeroberfläche.
Einer dieser Clients ist chatapplet, welches als applet in jedem Java-fähigen Web-Browser läuft. (Nachdem es längere Zeit in Zusammenhang mit dem MS-IE Probleme gab, ist die neueste Version wieder kompatibel zu allen gängigen Webbrowsern.)
Das Applet läßt sich leicht in die eigene HTML-Seite einbinden, und ist mittlerweile auch (wie SpanielChat) zusammen mit dem Appletviewer nutzbar.

Aber damit noch nicht genug. Neben dem Java-Server gibt es mittlerweile für Linux auch zwei Server, die komplett in C geschrieben sind, und damit wesentlich weniger Ressourcen beanspruchen.
Der Melange Chat Server und Naken Chat sind vollständig kompatibel zu Javachat, im Gegensatz dazu aber in C programmiert.
Der besondere Grund für die Beliebtheit und Verbreitung von Naken Chat, Javachat und Melange ist einerseits ihre unkomplizierte Installation, aber auch die vielen Konfigurationsmöglichkeiten, die einem ermöglichen, den Server an seine eigenen Bedürfnisse anzupassen.
Während man den Java-Server nur dann starten sollte, wenn er auch benötigt wird, belastet es den Rechner kaum, wenn der Naken Chat Server schon beim Booten mitgestartet wird. Um dies zu erreichen, benötigt man im /sbin/init.d/ Verzeichnis ein Skript, das folgendermaßen aufgebaut ist:

Skript /sbin/init.d/nakenchat (für SuSE 6.0)
 #! /bin/sh
 # /sbin/init.d/nakenchat

 . /etc/rc.config


 # The echo return value for success (defined in /etc/rc.config).
 return=$rc_done
 case "$1" in
    start)
        echo -n "Starting service nakenchat"
        ## Start daemon with startproc(8). If this fails
        ## the echo return value is set appropriate.
        startproc /path/to/nakenchat1.0x/nakenchat -f /path/to/nakenchat1.0x || return=$rc_failed
        echo -e "$return"
        ;;
    stop)
        echo -n "Shutting down service nakenchat"
        ## Stop daemon with killproc(8) and if this fails
        ## set echo the echo return value.
        killproc -TERM /path/to/nakenchat1.0x/nakenchat || return=$rc_failed
        echo -e "$return"
        ;;
    restart)
        ## If first returns OK call the second, if first or
        ## second command fails, set echo return value.
        $0 stop  &&  $0 start  ||  return=$rc_failed
        ;;
    status)
        echo -n "Checking for service nakenchat: "
        ## Check status with checkproc(8), if process is running
        ## checkproc will return with exit status 0.
        checkproc /path/to/nakenchat1.0x/nakenchat && echo OK || echo No process
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart}"
        exit 1
        ;;
 esac

 # Inform the caller not only verbosely and set an exit status.
 test "$return" = "$rc_done" || exit 1
 exit 0

Für andere Distributionen sollte ein simpleres Skript ausreichend sein:

Skript /sbin/init.d/nakenchat
 #! /bin/sh
 case "$1" in
    start)
        echo -n "Starting service nakenchat"
	/path/to/nakenchat1.0x/nakenchat -f /path/to/nakenchat1.0x
        ;;
    stop)
        echo -n "Shutting down service nakenchat"
        killname /path/to/nakenchat1.0x/nakenchat
        ;;
    restart)
        $0 stop  &&  $0 start  
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
 esac
 exit 0

Nun benötigt man in den Verzeichnissen /sbin/init.d/rc2.d und rc3.d jeweils die symbolischen Links S99nakenchat und K99nakenchat auf das obige Skript. (Die Nummern geben an, an welcher Stelle das Skript ausgefürt werden soll. Dies sollte auf jeden Fall nach dem Starten der Netzwerkunterstützung geschehen).

OpenNaken

Mittlerweile gibt es für Javachat nicht nur einen Ersatz für den Server, auch beim Client gibt es mittlerweile eine TCL/TK-Version.
OpenNaken heißt diese und läuft unter Linux ebenso problemlos wie unter Windows, da auch für diese Plattform das TCL/TK-Toolkit erhältlich ist.
Leider ist TCL/TK unter Windows nicht annähernd so weit verbreitet, wie unter Linux, so daß man den Besuchern der HTML-Seite neben dem Download von Open Naken auch noch den Download des gesamten TCL/TK-Pakets zumuten muß.

Open Naken Screenshot

Deshalb empfiehlt sich OpenNaken weniger zur Bereicherung der Homepage, dort ist das Java-applet viel besser geeignet, aber für die Benutzer, die regelmäßig chatten, oder wenn das gesamte LAN sich über den Nakenchat-Server unterhält, ist OpenNaken wegen seiner guten Benutzerfreundlichkeit und höheren Geschwindigkeit zu empfehlen.


Links
   Homepage SpanielChat: http://www.searchspaniel.com/chatserver.html
   Homepage Javachat, Naken Chat und chatapplet: http://home.i1.net/~naken/nakenchat/
   Homepage Melange chat server: http://melange.terminal.at/
   Homepage OpenNaken: http://Daemon.netfirms.com


Platz für Kommentare & Fragen:
(selbst eintragen)

 

Weitere Ausgaben Linux NetMag
[ #1 | #2 | #3 | #4 | Main ]