A simple client-server chat application with AF_UNIX sokets.
Unzip it and compile it using make all.
Two executables files will appear: chatty (server), client (client).
Use ./chatty -f DATA/chatty.conf1 or ./chatty -f DATA/chatty.conf2 to lunch the server.
"DATA/chatty.conf1" and "DATA/chatty.conf2" are two configuration files for the server,
read them to find out the adjustable values.
Use:
./client -l /path/to/the/connection/socket -k nick -c nick -[gad] group -t milli -S msg:to -s file:to -R n -h
-lspecify the connection socket location-kspecify the client's nickname-cspecify the user's nickname to be registered-Cspecify the user's nickname to be unregistered-gspecify the group's nickname to be registered-aadd the user's nicknamenickto the group specified by the groupnamegroup-dremove the user's nicknamenickfrom the group specified by the groupnamegroup-Lto send the request for the online users list-pto retrieve the message history-tspecify the milliseconds between an operation and the next-Ssend the messagemsgto the receivertothat can be the nickname of a user or of a group-sas-Sbut it permit to send files-Rwait to receive messages. The behaviour is different based on the value ofn: .n > 0: wait to receive 'n' messages and then execute the next command .n <= 0: wait to receive one or more message indefinitely.
For further (in italian) information and description read the Relazione.pdf.
For implementation details run doxygen Doxyfile in the project directory, it will generate the code
documentation in html format and you can read it opening Documentazione/html/index.html.
🍻 Cheers!