This is a server/client system that uses UNIX signals for communication. The server displays its PID and receives decrypted signals as characters, while the client encrypts messages and sends true/false signals using SIGUSR1 or SIGUSR2 to the server's PID.
git https://github.com/mfk-ayoub/minitalk_42
cd path/to/minitalk_42
make
./server
./server_bonus
./client [SERVER PID] [MESSAGE]
./client_bonus [SERVER PID] [MESSAGE] [EMOTE]
make
- Compile minitalk mandatory files.
make bonus
- Compile minitalk bonus files.
make all
- Compile mandatory + bonus files.
make clean
- Delete all .o (object files) files.
make fclean
- Delete all .o (object files) and .a (executable) files.
make re
- Use rules fclean
+ all
.
- Produce server and client executables.
- The Client must communicate a string passed as a parameter to the server (referenced by its process ID) and display it.
- Use
SIGUSR1
andSIGUSR2
signals only.
- Add reception acknowledgement system.
- Support Unicode characters.
At 42 School, it is expected that almost every project is written following the Norm, which is the coding standard of the school.
- No for, do...while, switch, case, goto, ternary operators, or variable-length arrays allowed;
- Each function must be a maximum of 25 lines, not counting the function's curly brackets;
- Each line must be at most 80 columns wide, with comments included;
- A function can take 4 named parameters maximum;
- No assigns and declarations in the same line (unless static);
- You can't declare more than 5 variables per function;
- ...
If you find any issues or have suggestions for improvements, feel free to fork the repository and open an issue or submit a pull request.