diff --git a/readme.md b/readme.md index e2210dc..0a03b80 100644 --- a/readme.md +++ b/readme.md @@ -2,16 +2,43 @@ # Protokoll 🔧 ``` +Als erstes muss der User immer der Befehl eingegeben (send, read, list oder delete). Danach schreibt der Client +immer eine Zeile, was der User als nächstes eingeben soll. Die Buffer Strings der Befehle sind folgerndermaßen +aufgebaut: + SEND: send;sender;empänger;betreff;nachricht -LIST: list:username;postEinAusgang +LIST: list;username;postEinAusgang READ: read;username;postEinAusgang;nid DEL: del;username;postEinAusgang;nid + +Der Buffer wird immer als Ganzes (wie oben beschrieben) vom Client an den Server übertragen (nicht Blockweise). +Der Client fügt die Usereingaben als String zusammen und trennt sie mit einem ";". Der Server splittet den Befehl +dann anhand des Delimiters ";" und geht jedes einzelne Attribut (z.B. username, nid) in einer Schleife durch und +führt den entsprechende Aktionen aus. Als erstes Attribut steht immer der Befehl, damit der Server sofort erkennt, +welche Aktion er ausführen soll. Die nid (Nachrichten ID) wird am Server erzeugt und setzt sich aus einem Timestamp ++ dem Betreff zusammen. + +Bei send und delete sendet der Server entweder OK oder ERR zurück. Bei list, die Anzahl der Nachrichten und pro +Zeile den Betreff. Bei read wird die gesamte Nachricht (nid, Sent From/To, Betreff, Nachricht) zurückgesendet. + +Am Server gibt es die Verzeichnisse Posteingang und Postausgang. Darin sind Verzeichniss mit den jeweiligen +Usernamen und darin befinden sich .txt Dateien mit den Nachrichten. + +Eine Nachricht wird zb. folgerndermaßen am Server gespeichert: + +ID: 2020-10-2918:05:32hallo +Sent to: if20b206 +Betreff: hallo +Message: wie gehts + ``` # Installation ``` -sudo apt-install ldap-utils +sudo apt-get install ldap-utils sudo apt-get install libldap +sudo apt-get update -y +sudo apt-get install -y libldap-dev ``` # Erstellt von