Pichat
# Pichat

Pichat [pitʃæt] ist eine Chatsoftware und ein Protokoll zum Informationsaustausch in Peer-to-Peer-Netzwerken. Eine Pichat-Anwendung ist Client und Server zur gleichen Zeit und bietet eine Reihe von Protokollen und Formaten an (z. B. Text und XML). Er wird hauptsächlich für Text-Chat und als Community-Chatsystem genutzt.

Das Pichat-Protokoll wurde mit der Idee entworfen, gleichzeitig intelligente und einfache Clients zu bedienen. Man kann erwarten, dass die meiste Arbeit vom Chatserver erledigt wird, so dass weniger Logik auf der Client-Seite benötigt wird. Ein einfacher Client kann den empfangenen Datenstrom direkt anzeigen, ohne aufwändig parsen zu müssen. Der Standard-Port eines Chatservers ist 9009/TCP.

Die Referenzimplementierung von Pichat hat einen eingebauten Webchat und TELNET-Unterstützung. Es gibt außerdem einen eingebauten Webserver, der zum Datenaustausch verwendet werden kann und ein SDK (für Linux und Windows) um den Chat mit Plugins zu erweitern.

## Geschichte

Die erste Pichat-Software wurde 2002 von Mark Seuffert veröffentlicht und wird zusammen mit David Fehrmann weiterentwickelt. Das Chat wurde von Peer-to-Peer-Technologien und Programmen wie IRC und ICQ beeinflusst. Am Anfang wurde nur das eigene Protokoll unterstützt, 2003 kam eine TELNET-Unterstützung dazu und seit 2004 gibt es ein eingebautes Webinterface.

## Eigenschaften

Die Pichat-Software bietet folgende Funktionen an:

* Registrierte und unregistrierte Benutzer
* Mehrere Chaträume, einschließlich Konferenzräume und moderierte Räume
* Textformatierung mit Smileys, Grafiken, Fettschrift und Farbe
* Integriertes Webinterface, erweiterbar durch Vorlagen (HTML, CSS, JavaScript)
* Webchat mit Streaming und einfachem Polling (Server-Push und Browser-Pull)
* Geringe Anforderungen an CPU und Datenverkehr (Streaming, Komprimierung) bei mehreren hundert Benutzern
* Mehrere Betriebssysteme (Linux und Microsoft Windows)
* Mehrere Sprachen, internationale Ausrichtung (Deutsch, Englisch, Schwedisch, Französisch usw.)
* Pluginunterstützung (C++)
* Logging von eigenem Chattext ist möglich, über ein Plugin auch für alle Chaträume auf dem Chatserver
