# Minitalk

This is my implementation of the Minitalk project for the 42 school.

## Description

Minitalk is a client-server application that allows communication between two processes using only signals. The client sends a string message to the server, which receives and displays the message.

The purpose of the project is to familiarize students with the use of signals in Unix-based systems and inter-process communication.

## Usage

To use the application, first compile the `server` and `client` executables by running `make` in the root directory of the project.

Then, start the `server` executable in a terminal window using the command `./server`. The server will display its process ID (PID) to be used by the client.

Next, start the `client` executable in another terminal window using the command `./client [server PID] [message]`. Replace `[server PID]` with the server's PID displayed in the previous step, and `[message]` with the message to be sent.

The client will send the message to the server using signals, and the server will display the message in its terminal window.

## Concepts Learned

Through the completion of this project, I gained knowledge and experience in the following areas:

- Inter-process communication using signals
- Unix signals and signal handlers
- Bitwise operations for signal handling

## Resources

- ![The project subject](./subject.pdf)
- The Unix manual pages for signals and inter-process communication

## Authors

This project was created by Camille CHAUVET. If you have any questions or suggestions, feel free to contact me.

