This project has been created as part of the 42 curriculum by lmouta-g (dop42).
minitalk is a UNIX inter-process communication project using signals.
The goal is to create a server and a client that communicate using only
SIGUSR1 and SIGUSR2.
The client sends a string to the server by encoding each character in binary. The server reconstructs the message bit by bit and displays it.
This project introduces signal handling, process communication, and bitwise operations.
makeThis generates two executables:
serverclient
Useful rules:
make clean
make fclean
make re- Start the server:
./serverIt will display its PID.
- Run the client with the server PID and a message:
./client <server_pid> "Your message"The message will be displayed on the server side.
includes/minitalk.h prototypes and structs
src/server.c receives the bits and rebuilds the message
src/client.c encodes the message and sends it bit by bit
utils/send.c signal sending helper
lib/ the libft (helpers)
- signal(7) - Linux manual page
- sigaction(2) - Linux manual page
- kill(2) - Linux manual page
- Bitwise Operators in C - GeeksforGeeks
- libft — this project relies on my own libft.