Andre Steffens: Chat mit CGI

Hi,

nachdem ein gewisses Interesse an einem Chat für Webdesigner besteht, sollte man sich Gedanken für die Umsetzung machen. Leider wird Java von einigen Firewalls nicht erlaubt. Also muß man bei diesem Problem auf CGI zurückgreifen.

Aber wie ist die Umsetzung am einfachsten???
Vorallem wenn man mehrere Räume haben möchte!!!

Ich werde mich einmal mit der Programmierung auseinandersetzen, aber evtl. gibt es ja bereits fertige Skripts bzw. Ideen.

Wenn ein solches Skript geschaffen ist, kommt natürlich das nächste Problem: Wie bekommt man es an die Öffentlichkeit. An dieser Stelle würde ich mal sagen ist SelfHTML gefragt... *grins*

cu. Andre

  1. Hallo Andre !
    Habe selbst mal ein cgi-Chat installiert. Die Leistungsfähigkeit ist aber nicht berauschend. Die Seiten werden nach einem vorgewähltem Takt immer neu geladen. Während des Ladens gibt es Probleme mit der evt. neuen Texteingabe. Kannst es Dir ja mal anschauen. (www.luenenweb.de/chat)
    Bei Interesse kann ich Dir das cgi zuschicken.
    Habe mich anschließen für spin.de entschieden.
    Gruß
    Jörg

    Hi,

    nachdem ein gewisses Interesse an einem Chat für Webdesigner besteht, sollte man sich Gedanken für die Umsetzung machen. Leider wird Java von einigen Firewalls nicht erlaubt. Also muß man bei diesem Problem auf CGI zurückgreifen.

    Aber wie ist die Umsetzung am einfachsten???
    Vorallem wenn man mehrere Räume haben möchte!!!

    Ich werde mich einmal mit der Programmierung auseinandersetzen, aber evtl. gibt es ja bereits fertige Skripts bzw. Ideen.

    Wenn ein solches Skript geschaffen ist, kommt natürlich das nächste Problem: Wie bekommt man es an die Öffentlichkeit. An dieser Stelle würde ich mal sagen ist SelfHTML gefragt... *grins*

    cu. Andre

    1. Hallo!

      Habe selbst mal ein cgi-Chat installiert. Die Leistungsfähigkeit ist aber nicht berauschend. Die Seiten werden nach einem vorgewähltem Takt immer neu geladen. Während des Ladens gibt es Probleme mit der evt. neuen Texteingabe. Kannst es Dir ja mal anschauen. (www.luenenweb.de/chat)
      Bei Interesse kann ich Dir das cgi zuschicken.
      Habe mich anschließen für spin.de entschieden.

      Ich konnte mir das Script leider nicht anschauen, aber ich denke, die Eingabeprobleme mit dem Formular lassen sich loesen, indem man es in einen anderen Frame setzt, wie die Anzeige.

  2. Hallo Andre,

    nachdem ein gewisses Interesse an einem Chat für Webdesigner besteht, sollte man sich Gedanken für die Umsetzung machen. Leider wird Java von einigen Firewalls nicht erlaubt. Also muß man bei diesem Problem auf CGI zurückgreifen.

    CGI-Scripts haben bei Chats ihre Grenzen. Alle mir bekannten CGI-Chats (ich habe mal drei oder vier lokal ausprobiert) basieren auf einem automatischen Refresh der angezeigten Seite nach x Sekunden, was ziemlich unruhig wirkt und (schlimmer) die Chatbeitraege nicht in Echtzeit und in dem Impuls bringen, in dem sie erfolgen. Dadurch geht vieles vom Charme echter Chats verloren, dieses "the heat of the moment".

    Wenn ein solches Skript geschaffen ist, kommt natürlich das nächste Problem: Wie bekommt man es an die Öffentlichkeit. An dieser Stelle würde ich mal sagen ist SelfHTML gefragt... *grins*

    Du wirst lachen, aber nachdem ich dieses Forum hier zum Laufen gebracht hatte, war gleich mein naechster Wunsch, noch einen Chatraum draufzulegen. Bei den Besucherzahlen hier wuerde es durchaus Chancen geben, dass auch mal ein paar Leute dort anzutreffen sind. Die CGI-Chats aber gefielen mir einfach nicht, da bin ich nun mal Perfektionist. Viel besser sind da java-basierte Chats. Solche Chat-Applets bestehen aus zwei Teilen: einem Teil fuer den Browser (wird in die Chat-HTML-Datei eingebunden). Der andere Teil des Applets muss allerdings auf dem Server gestartet werden. Dazu braucht man die Berechtigung, auf dem Server Programme (ausserhalb von CGI auf Betriebssystemebene) starten zu koennen, und ausserdem muss ein Java-Runtime-Compiler auf dem Server laufen, der das Applet ausfuehrt. Daran ist's hier bislang gescheitert. Ein Telefonat mit dem lieben Provider, in dem ich meinen Wunsch aeusserte, versandete leider wieder. Ich habe aber auch nicht mehr nachgehakt.

    Falls es jemand anderes schafft, einen ordentlichen Chat zum Thema zum Laufen zu bringen, mache ich hier natuerlich gerne eine Aktuell-Seite dafuer. Oder ihr aergert meinen Provider mal ein wenig und skandiert "wir wollen den SELFHTML-Chat" <g>

    Viele Gruesse
      Stefan Muenz

    1. Hallo Stefan,

      Du wirst lachen, aber nachdem ich dieses Forum hier zum Laufen gebracht hatte, war gleich mein naechster Wunsch, noch einen Chatraum draufzulegen. Bei den Besucherzahlen hier wuerde es durchaus Chancen geben, dass auch mal ein paar Leute dort anzutreffen sind. Die CGI-Chats aber gefielen mir einfach nicht, da bin ich nun mal Perfektionist.

      www.metropolis.de betreibt einen Chat, der auf Userseite mit HTML und JavaScript auskommt und selbst durch 'ne Firewall mit Proxy läuft. Ich glaube aber nicht, daß die so ohne weiteres die Scripte herausgeben, das ist ja denen ihr Geschäftskapital. ;-)

      Gruß,
      -besim

    2. Der logische naechste Schritt nach diesem Forum ist tatsaechlich ein Chat.
      Siehe Beitrag oben.

    3. Hallo!

      bezüglich Chats frage ich mich immer wieder, warum alle Welt Chats in letzter Zeit nur noch aufs WWW aufsetzen will.

      ... Dabei geht es via IRC oder in einem MUD (siehe http://uni.mud.de bzw. telnet://uni.mud.de) in der Regel viel besser.

      Zumindest ist es für die Chatter besser -- für eine Firma, die sich damit präsentieren will ist das schon schwieriger, als MUD aber durchaus denkbar und reizvoll.

      Ansonsten:
      Man könnte mal versuchen, einen Chat via Server-Push (in einem getrennten Frame oder Fenster, auch wenn ich keine Frames mag ;) ) zu realisieren. Damit wäre zumindest die "Gleichzeitigkeit" gegeben.

      Denn Java Chats empfinde ich meist auch nur als langsam und zäh.

      Ciao
        Alvar

      1. Hallo Alvar,

        bezüglich Chats frage ich mich immer wieder, warum alle Welt Chats in letzter Zeit nur noch aufs WWW aufsetzen will.
        ... Dabei geht es via IRC oder in einem MUD (siehe http://uni.mud.de bzw. telnet://uni.mud.de) in der Regel viel besser.

        Klar, IRC ist ja dafuer gedacht. Aber es hat nun mal nicht jeder einen IRC-Client. Alles was direkt im Web ohne Zusatz-Software funktioniert, ist fuer die meisten Leute schlichtweg einfacher. Man erreicht im Web auch Leute mit Chats, die von IRC noch nie gehoert haben.

        Man könnte mal versuchen, einen Chat via Server-Push (in einem getrennten Frame oder Fenster, auch wenn ich keine Frames mag ;) ) zu realisieren. Damit wäre zumindest die "Gleichzeitigkeit" gegeben.

        Da habe ich Verstaendnis-Schwierigkeiten. Ein CGI-Programm wird ja immer nur durch einen Client "erweckt" und wenn es irgendwas via HTTP sendet, dann an diesen Client. Das Script kann zwar theoretisch ermitteln, wer zur Zeit alles auf die Chat-Hauptdatei zugreift und selbstaendig zu allen entsprechenden Clients HTTP-Verbindung aufnehmen, um denen etwas zuzupushen. Aber das Script ist eben nur "alive", wenn es durch einen Client-Request aufgerufen wird. Alles andere waere kein CGI-Script mehr, sondern ein staendig laufender und lauernder Prozess auf dem Server-Rechner, sprich, ein klassisches Server-Programm. Und genau das tun ja die java-basierten Chat-Server.

        Denn Java Chats empfinde ich meist auch nur als langsam und zäh.

        Zumindest das Anschmeissen der Java-Console ist immer ein Drama. Es gibt aber durchaus flotte Java-Loesungen fuer Chats. Man braucht ja keine 100 Raeume, User-Verwaltung und dergleichen. Je einfacher die Oberflaeche, desto wahrscheinlicher, dass mehr Leute sich mal trauen, mitzumachen.

        Viele Gruesse
          Stefan Muenz

        1. Hallo Stefan,

          (uups, ich antworte spät ... )

          Klar, IRC ist ja dafuer gedacht. Aber es hat nun mal nicht jeder einen IRC-Client. Alles was direkt im Web ohne Zusatz-Software funktioniert, ist fuer die meisten Leute schlichtweg einfacher. Man erreicht im Web auch Leute mit Chats, die von IRC noch nie gehoert haben.

          Das ist richtig!
          Allerdings saugen sich viele User ja auch megabytes an Shockwave-Plugins oder Monster-Browser ;)
          Der Vorteil vom Web ist halt: alles ist ein wenig bunter und langsamer :)

          Ansonsten hat zumindest jeder Windows-Rechner ein einfaches Telnet dabei, mit dem man auch schon mal ein wenig anfangen könnte.

          Letztendlich setzen die meisten Java-Applets ja im Prinzip nur ein Telnet in das Browserfenster hinein ...

          Man könnte mal versuchen, einen Chat via Server-Push (in einem getrennten Frame oder Fenster, auch wenn ich keine Frames mag ;) ) zu realisieren. Damit wäre zumindest die "Gleichzeitigkeit" gegeben.

          Da habe ich Verstaendnis-Schwierigkeiten. Ein CGI-Programm wird ja immer nur durch einen Client "erweckt" und wenn es irgendwas via HTTP sendet, dann an diesen Client. Das Script kann zwar theoretisch ermitteln, wer zur Zeit alles auf die Chat-Hauptdatei zugreift und selbstaendig zu allen entsprechenden Clients HTTP-Verbindung aufnehmen, um denen etwas zuzupushen. Aber das Script ist eben nur "alive", wenn es durch einen Client-Request aufgerufen wird. Alles andere waere kein CGI-Script mehr, sondern ein staendig laufender und lauernder Prozess auf dem Server-Rechner, sprich, ein klassisches Server-Programm. Und genau das tun ja die java-basierten Chat-Server.

          Jein, beim Server-Push wird die Client-Server-Verbindung für die HTML-Übertragung aufrecht erhalten und der Server kann immer wieder eine neue Seite etc. hinterherschicken (z.B. mittels des MIME-Typs multipart/mixed) (steht auch irgendwo in der HTTP 1.1-Doku beschrieben).
          Die eleganteste Lösung ist das auch nicht, aber es könnte evtl. eine Vereinfachung bieten.

          Eine etwas ähnliche ähnliche Spielerei habe ich auf meiner Homepage (URL siehe oben) realisiert, wobei ich sie derzeit nur bei Netscape 4 (PC, Mac) und den Internet Exploder (Mac) freigegeben habe (ansonsten passiert nichts aufregendes) und das genaue Timing an den unterschiedlichen Netzlaufzeiten scheitert. Aber es ist ja auch nur ein Versuch ;)  *grins*

          Ciao
            Alvar

    4. Hallo Stephan,

      wir haben vor einiger Zeit einen Chat geschrieben, der mir (natürlich) ganz gut gefällt.
      Er basiert auf cgi und Javascript.

      http://www.ganymed.de/chat/index.html

      Was haltet ihr davon?

      Roland

  3. Interessantes Thema <g> .. Ich bin naemlich auch gerade dabei (seit heute) soetwas bei uns aufzubauen. CGI hat seine Grenzen. Ausserdem stoert dieses Refresh.

    Bei PRO7 auf der Seite hab ich einen Chat gesehen, wo die Verbindung einfach offen bleibt und permanent die Beitraege durchscrollen. Ich glaub der basiert nur auf JavaScript, bin aber nicht sicher.

    Ich hab mich fuer eine andere Loesung entschieden. Ich werde mir einfach die Muehe machen und einen IRC Server installieren und ein JavaApplet als IRC client auf die Homepage packen. Der Client scheint mir aber das Problem. Das mit Abstand Beste was ich gesehen hab ist die Appletversion vom Microsoft Chat, (ich rede nur vom Applet) bin aber nicht sicher inwieweit man sich von irc.msn.com server loesen kann.

    Wenn ich mehr weiss oder weitergekommen bin, poste ich es hier. Auch im Hinblick auf einen SELFHTML Chat.

    Thomas Hieck

  4. Ich habe mir jetzt mal Gedanken über die Umsetzung gemacht:

    Idee: Es sollte doch machbar sein in einem CGI-Skript eine Schleife einzubauen, die ständig eine Datei ausliest und bei Änderung den Inhalt auf den Bildschirm wirft.
    Wenn dies gehen sollte, wäre es nämlich machbar jeweils nur eine Zeile in dieser Datei zu speichern und die Geschwindigkeit dementsprechend zu erhöhen. Außerdem würde das Ruckeln beim Neuladen der File aufhören. Oder gibt das Schwierigkeiten bei zuvielen Anwendern (wegen Überlagerungen oder ähnlichem) ???

    Ich vermute einmal, daß man bei dieser Lösung mit Frames arbeiten muß. Oder kann man den Inhalt einer Datei auch in ein Textfeld <textarea> schreiben.

    Nächster Gedanke: Mischung aus Java und CGI, auch darüber sollte man sich mal unterhalten.

    Gruß Andre

    1. http://www.pro-sieben.de/chat/

      Schau Dir einfach mal das an. Sowas suchst Du bestimmt.

      1. http://www.pro-sieben.de/chat/

        Schau Dir einfach mal das an. Sowas suchst Du bestimmt.

        Danke für den Tip...
        aber mit diesem Chat, der mir bekannt ist, verdienen sich einige sehr schlaue Köpfe eine goldene Nase. Sollte es mir irgendwann gelingen sowas zu programmieren, dann lade ich dich gerne zu einem Bier ein *grins*

        Du hast übrigens recht, solch ein Chat wäre die absolute Krönung....

        Gruß Andre

  5. Aber wie ist die Umsetzung am einfachsten???
    Vorallem wenn man mehrere Räume haben möchte!!!

    Hallo Andre!

    Hier ist eine Adresse wo Chat mit mehrern Räumen funktioniert mittels CGI.
    (Ich weiss nicht wie die das machen, aber es geht alles sehr flott = gleichzeitig mit Texteingabe)

    http://oe3.ofr.at/chat/chat-login.html

    Grüße
    Thomas