Sven Rautenberg: Chat ?

Beitrag lesen

Hallo,

Moin!

ich wär irgendwie dran interressiert einen Chat zu programmieren, ich hab aber leider keine Ahnung wie ein Chat funktioniert. Ich erwart jetzt natürlich nicht, daß mir jemand den Quellcode rausrückt =) ,ich wollt eigentlich nur wissen, wie der Aufbau eines Chats is, zB wie das mit der Verbindung funktioniert, daß jeder mit jedem verbunden ist, also ich wills jetzt nur allgemein wissen.

Allgemein also:

Irgendwo steht ein zentraler Server, welcher den Chat hostet. Die Clients bauen eine Verbindung zu diesem Server auf und kriegen ab sofort alles gesendet, was irgendjemand sagt. Schlauerweise sollte sich das Gesabbel beim Client in einem anderen Fensterbereich abspielen wie das Eingeben der eigenen Beiträge. Tja, und genau diese eigenen Beiträge muß der Client dann zum Server senden.

Der Server empfängt von den verschiedenen Teilnehmern Beiträge und sendet diese Beiträge an alle verbundenen Teilnehmer weiter. So kriegen alle mit, was jemand gesagt hat. Interessant werden dann kleine Zusatzfunktionen wie flüstern, "/me grinst breit."-Aussagen, Adminfunktionen, Ausschluß von Rüpeln etc.

Problem: Wie realisiert man einen Client? Den Browser dafür zweckentfremden ist ziemlich blöd, weil der nur HTTP kann, und solche Verbindungen lösen sich immer ganz schnell wieder auf. Das ist grundsätzlich anders als bei einem Chat.

Möglich wäre, z.B. Telnet als Chatclient zu benutzen. Jedes bessere Betriebssystem mit TCP/IP drauf hat mindestens ein simples Telnet drauf, mit dem man sowas machen könnte. Oder man bastelt was mit Java hin, das läuft dann auch innerhalb des Browsers und ohne extra Installation. Darüber hinaus kann man natürlich eigene Chat-Clients schreiben, die sich die Benutzer dann runterladen und installieren müssen. Als Komfortlösung sicherlich nicht verkehrt, aber doch ein ziemlicher Entwicklungsaufwand.

Alternativ dazu könnte man bestehende Chatsysteme wie IRC benutzen. Das programmiert aber keiner mehr selber (außer er versteht was davon), sondern es wird bestehende Software eingesetzt (bestimmt gibts da auch Open Source für).

- Sven Rautenberg