chat
kerstin
- programmiertechnik
0 Cruz0 Alexander Kiel0 Eckard0 Alexander Kiel0 Hunold
0 Cruz
0 Alexander Kiel
Hallo, ich möchte einen chat programmieren, weiß aber nicht wie! Kann mir jemand helfen?
Gruß Kerstin
Hallo, ich möchte einen chat programmieren, weiß aber nicht wie! Kann mir jemand helfen?
Gruß Kerstin
Hallo Kerstin,
leider weiß ich nichts über dich, also weiß ich nicht genau wo ich anfangen soll. Deshalb nehme ich einfach mal an, daß du CGI Programmieren kannst.
Also..ich stelle mir einen Chat etwa so vor..
Du brauchst nicht mehr als ein paar Textdateien, um Informationen zu speichern.
Du hast eine Textdatei, die du benutzt, um die aktiven User zu verwalten, d.h. die, die gerade eingeloggt sind. Du kannst für die Indentifizierung eine session ID, einen Cookie oder die IP Adresse benutzen, wobei Session ID die sicherste Variante ist.
Dann kannst du auch noch eine Textdatei für die ständige Userverwaltung anlegen, d.h. Für login und passwort und so.
Dann brauchst du noch eine Textddatei für den Text, der im Chat fließt. Da es ein Chat ist, brauchst du kein Archiv und keine Suche, ist also total einfach. Den Inhalt dieser Text Datei blendest du eben auf einer Webseite ein.
Also..ich hoffe ich konnte dir ein paar Denkanstöße geben.
Gruß
Cruz
Hi Cruz,
ich fass deine Vorstellung einen Chat über CGI laufen lassen zu wollen einmal als Witz auf.
Du weißt schon, das CGI nur komplette Seiten übertragen kann.
Erzähl mir jetzt nicht, das es praktikabel währe die Chatnachrichten in einem Frame laufen zu lassen, welches einem ständigem reaload unterliegt.
Falls du sowas mal irgendwo gesehen hast, würd ich gern mal dor chatten. *g*
Ein Chat hat ständig und schnell textbasierte Daten zwischen jeweils einem Client und dem Server auszutauschen.
Dies läßt sich sinvollerweise nur über eine direkte Socketverbindung bewerkstelligen.
Solch eine Socketverbindung ist mit Javaapplets und normalen Anwendungsprogrammen möglich.
Bis auf den nächsten Chat per CGI...
ALEX
Hallo Alexander,
ich fass deine Vorstellung einen Chat über CGI laufen lassen zu wollen einmal als Witz auf.
Wenn das für diech bereits ein Witz war, bist Du leicht zu unterhalten.
Ich kenne einern recht gut besuchten (ca 700 logins tägl) Chat, der auf einem CGI-script basiert. Natürlich muß der User selbst refreshen, aber es hat sich gezeigt, dass das durchaus wünschenswert ist, da man das Lesetempo selbst bestimmen kann.
Falls du sowas mal irgendwo gesehen hast, würd ich gern mal dor chatten. *g*
bitte, hier: http://www.siedler3.de/gindex.htm
Vielleicht trifft man sich ja mal dort.
Gruß Eckard
"Es gibt mehr Dinge zwischen Himmel und Erde, Horatio ..."
Hi Eckard,
ok es gibt CGI Chats
ich wiederrufe hiermit meine engstirnige Annahme.
Ich muss sagen, dass es sich dort sogar durchaus etwas chatten läßt.
Aber ich weiß nicht, ob es auf die Dauer sinnvoll ist einen CGI Chat zu benutzen und einen laufen zu haben (hohes Datenaufkommen)
Ich persönlich chatte mit einem IRC Client und halte damit jeglichen Overhead in Grenzen.
Irgendwie versuchen die Leute mit den Möglichkeiten, die HTTP, HTML, CGI bietet alles ögliche und unmögliche zu machen.
Eigentlich war dies ja mal für die Darstellung einfacher statischer, oder aus Datenbanken erzeugter Hypertexte mit Feedbackmöglichkeit über Formulare gedacht.
Irgendwann wurde IRC zum Chatten aus der Taufe gehoben, weil dieses System einfach mal geeigneter ist. Dabei sollte man auch bleiben.
ALEX
Hi Alex,
Perl war auch nur als ne Admin-Hilfe gedacht.
Internet war auch mal als dezentrale Info-/ Steuerstelle für Militärs gedacht.
Lieber Alex, wenn die o.g. Progs beim status quo geblieben wären, würden wir heute nicht hier plaudern. Dieses Forum ist auch Perl.
Schön das wir uns weiterentwickeln ;-)
Zum CGI-Chat: Ich habe bis jetzt keinen vernünftigen Java-Chat gesehen. Punktum. In der Zeit, wo das Applet geladen wird, steht das CGI-Chat bereits und der User kann loslegen.
IRC hat einen Nachteil: Liebesgrüsse
Was den IRC-Befürwortern immer wieder einfällt, ist der periodische Refresh. Aber, überlegt mal, ob wirklich periodisch refresht werden muss oder nur, wenn eine Nachricht gesendet wird? Derzeit erarbeite ich einen solchen Chat, der auch einen eigenen Server bekommt
Schaut Euch ruhig mal das AOL-Chat an: Das ist bestimmt nicht Java, sondern Perl. Und nun mal ehrlich: AOL nutzt man doch nur wegen des Chats. Oder? Etwas vergleichbares habe ich noch nicht in der freien Internetwelt gesehen. Also nicht immer ist Java das non-plus-ultra.
Hi Alex,
www.the-park.com ist eine der größten chat sites im Internet und ist nur CGI basiert. Ich habe bis jetzt eigentlich auch mehr CGI Chats gesehen, als IRC Chats.
Die Menge der Daten, die übertragen werden ist ebenfalls lächerlich, es ist nämlich nur ein bisschen Text, dessen Länge du auch noch begrenzen kanst, und du musst davon auch nur das abspeichern, was auf der Webseite gerade zu sehen ist.
Also kann ich deine Argumentation keineswegs nachvollziehen, CGI eignet sich hervorragend für einen Chat.
Gruß
Cruz
Hi Kerstin,
Die Programmierung eines Chat's ist nicht gerade trivial.
Du musst entweder Java können um ein Applet oder eine Clientanwendung schreiben zu können, oder eine andere Programmiersprache wie C, C++, Pascal, Basic...
Den Server kannst du meinetwegen auch in Perl oder ählichen programmieren.
Grundsätzlich muss ein Chat ständig und schnell textbasierte Daten zwischen jeweils einem Client und dem Server auszutauschen.
Dies läßt sich sinvollerweise nur über eine direkte Socketverbindung bewerkstelligen.
Solch eine Socketverbindung ist mit Javaapplets und normalen Anwendungsprogrammen möglich.
Du musst also mit Sockets arbeiten können.
Dann möchtest du ein GUI für den Client entwickel können, welches benutzerfreundlich... ist.
Dann muss der Server alle angemeldeten Chatter in einer Liste verwalten, um alle eingegangenen Nachrichten an alle verteilen zu können.
Zusätzlich muss der Server in dieser Liste neben dem Namen auch noch weitere Attribute führen. (z.B. OP)
Der Server möchte über die normale Eingabe auch Befehle verstehen können (z.B. /nick alex) um den Nickname zu verändern.
Also musst du die Eingabe in gewisser Weise etwas parsen können.
Neben der reinen Texteingabe muss der Client auch noch über einen zweiten Kanal, über den er Ping Pong und Events (von Tasten) an den Server weitergibt, kommunizieren können.
Desweiteren möchte der Server auch irgendwo laufen, wo er mehrere Ports zur Verfügung hat, um die ganzen Socketverbindungen laufen lassen zu können. Dies geht NICHT auf bei einem normalen Provider, der eigene CGI's erlaubt.
Ich wünsch dir dann viel Spass beim programmieren und fänd es toll, wenn du einen Chat schaffen würdest.
ALEX