Das ist mein selbst geschriebenes Chat-Programm.
Der Quellcode darf komplett frei verwendet werden.
Ein paar Daten zum Chat:
- Smileys, Text-Formatierung, Farben diverse andere Funktionen
- ein Chat-Bot der zeitabhängig grüßt und auf bestimmte Dinge antwortet
- funktioniert über dein LAN und über's Internet ohne Probleme (Port öffnen)
- Liste der Benutzer mit IP die gerade online sind
- Chatter in der Liste per Checkbox für privates Gespräch anwählbar
- pures AutoIt, keine DLL-Calls oder Ähnliches
- selbst entworfenes Protokoll
- Server- und Clientseitige Puffer (Pakete werden erst gelesen, wenn vollständig empfangen)
- man kann ohne Probleme mit anderen Clients wie z.B. Telnet mitchatten
Komplette Todos und Dokumentationen sind auch enthalten. Auch diverse Extra-Scripte für Tests und generieren von Daten.
Screenshot vom Client (das Programm mit dem man sich auf den Server verbindet und chattet):
[Blockierte Grafik: http://img134.imageshack.us/img134/9224/screenclientab3.png]
Alle Dateien sind im Anhang.
Ich hoffe er gefällt euch.
Ich habe noch die Protokoll-Dokumentation vergessen (ist leider nicht ganz aktuell aber sollte zum Verständnis reichen):
Spoiler anzeigen
Code
Pakete server -> client:
PUBLMESG<ws>nick:<ws>text öffentliche nachricht
PUBLMESG<ws>nick<ws>text öffentliche me-nachricht
PRIVMESG<ws>nick:<ws>text private nachricht
PRIVMESG<ws>Du<ws>-><ws>nick(s):<ws>textfür versender einer privaten nachricht
USERLIST<ws>nick1<ws>[ip],<ws>nick2<ws>[ip] userliste (muster)
USERJOIN<ws>nick<ws>ip join
USERLEFT<ws>nick<ws>ip leave
YOURNICK<ws>newnick nick der vom server gesetzt wurde
CHNGNICK<ws>nick<ws>-><ws>newnick jemand benennt sich um
PLAINMSG<ws>text/html blanke Nachricht vom Server die HTML enthalten darf
Pakete client -> server:
text öffentliche nachricht
/me text öffentliche me-nachricht
/nick nick eigenen nick ändern
/p nick:text private nachricht
/p nick1, nick2, ... :textprivate nachricht an mehrere nicks
/exit beendet verbindung serverseitig
bei den paketen vom client zum server sind die leerzeichen egal.
der server nimmt alles so tolerant wie möglich auf.
Legende:
<ws> = whitespace (chr 32)
alle pakete haben den newlinechar LF am ende.
Alles anzeigen
Grüße Health