- Offizieller Beitrag
Version: 0.9.7
Ich habe dann doch mal etwas Zeit gefunden ein Chatprogramm zu programmieren. Natürlich benutze ich dafür meine Chatbox-UDF.
Wichtig war mir aber vor allem, dass es ein Multi-User-Chatprogramm werden sollte. Und wie der Name schon andeuted, wird die Kommunikation verschlüsselt übertragen (es handelt sich dabei um eine XOR-Verschlüsselung).
Es werden jetzt (bei: "Wer ist online?") auch die IP-Adressen der angemeldeten Benutzer angezeigt. Außerdem habe ich einen Whisper-Modus hinzugefügt (Befehl: /w "user" nachricht) und mit dem Befehl "/HELP", "/HILFE" oder "/?" wird eine Befehlsliste angezeigt.
Weiter ist es nicht mehr möglich, sich mit einem Benutzernamen anzumelden, der bereits existiert (Admin existiert immer!). Der Server besitzt standardmäßig den Benutzernamen "Admin", man kann ihn aber ändern (Admin bleibt reserviert).
Update v0.9.6 :
- Der Help-Befehl funktionierte nur beim Clientprogramm
- Man konnte den Server nicht "anwhispern"
- Der Server konnte nicht "whispern"
- Während sich ein Client anmeldete, wurden die Nachrichten der anderen Clients nicht empfangen/weitergesendet
- Es wird jetzt bereits vor der Passworteingabe geprüft, ob der Benutzername schon existiert
Update v0.9.7 :
- der Fehler aus Post#23 (Nachricht vom Admin wurde nicht gesendet) ist behoben
- der Benutzername darf jetzt nur noch folgende Zeichen enthalten: a-z, A-Z, 0-9 und den Unterstrich _
- durch die Reduzierung der möglichen Zeichen beim Benutzernamen braucht man jetzt beim whispern keine Anführungszeichen mehr.
- die Hilfe enthält jetzt auch eine Erklärung der BB-Codes
- Standardschrift jetzt etwas größer (3 statt 2)
- die Nachrichten sind jetzt standardmäßig schwarz (nur Datum/Uhzeit und Benutzername werden noch farbig dargestellt)
- beim Serverprogramm wurde das Eingabefeld nach dem absenden nicht geleert.
- das Clientprogramm versucht jetzt gleich beim start eine Internetverbindung herzustellen (wegen evtl. Firewallmeldung)
- einige Änderungen am Sourcecode wegen des (noch fehlenden) Dateitransfers.
Kurz etwas zum Ablauf:
- Der Rechner, auf dem das Serverprogramm läuft, benötigt im Router (so vorhanden) eine Port-Weiterleitung auf die lokale IP-Adresse. Mein Programm nutzt TCP-Port: 64064
- Die Clients benötigen zum Verbindungsaufbau die WAN-IP-Adresse des Servers (wird im Serverprogramm angezeigt) oder die DynDNS-Adresse.
- Nachfragen der Firewall bezüglich des Verbindungsaufbaus der Programme muss man natürlich zustimmen.
- Hat ein Client eine Verbindung zum Server herstellen können, wird nach einem Passwort gefragt. Dieses kann man im Serverprogramm einstellen und sollte es den Clients mitteilen.
- Wenn das Passwort korrekt war, besteht nun eine Verbindung zwischen Client und Server und das chatten kann beginnen.
- Sind mehrere Clients mit dem Server verbunden, werden die Nachrichten von jedem Client an alle anderen Clients gesendet. Somit sehen alle, was jeder der Teilnehmenden sendet.
ToDo-List:
- Verschlüsselung der Kommunikation
- Dateitransfer zwischen Client und Server. Client <-> Client wird wohl nur über den Server-Umweg gehen.
Alle benötigten Dateien (Scripte, Grafiken, Exedateien) befinden sich im ZIP-Archiv (Anhang).