https://github.com/rogeriols/mini_talk-42sp
This is a 42 project. Create a data exchange between server and client with UNIX signals.
https://github.com/rogeriols/mini_talk-42sp
42-minitalk 42cursus 42projects common-core minitalk minitalk42 unix
Last synced: 2 months ago
JSON representation
This is a 42 project. Create a data exchange between server and client with UNIX signals.
- Host: GitHub
- URL: https://github.com/rogeriols/mini_talk-42sp
- Owner: RogerioLS
- License: mit
- Created: 2024-01-27T20:09:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-27T21:18:20.000Z (over 1 year ago)
- Last Synced: 2025-02-13T14:53:36.763Z (4 months ago)
- Topics: 42-minitalk, 42cursus, 42projects, common-core, minitalk, minitalk42, unix
- Language: C
- Homepage:
- Size: 59.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# :speaker: Mini-Talk | 42 SP











---

### About
The purpose of this project is to code a small data exchange program using *UNIX signals*.
### Mandatory
- Produce `server` & `client` executables
- `client` must communicate a string passed as a parameter to `server` *(referenced by its process ID)* which then displays it
- Use `SIGUSR1` & `SIGUSR2` signals **ONLY**### Bonus
- Add reception acknowledgement system
- Support Unicode characters### Allowed Functions
- [`malloc`](https://man7.org/linux/man-pages/man3/free.3.html)
- [`free`](https://man7.org/linux/man-pages/man3/free.3.html)
- [`write`](https://man7.org/linux/man-pages/man2/write.2.html)
- [`getpid`](https://man7.org/linux/man-pages/man2/getpid.2.html)
- [`signal`](https://man7.org/linux/man-pages/man2/signal.2.html)
- [`sigemptyset & sigaddset`](https://man7.org/linux/man-pages/man3/sigsetops.3.html)
- [`sigaction`](https://man7.org/linux/man-pages/man2/sigaction.2.html)
- [`pause`](https://man7.org/linux/man-pages/man2/pause.2.html)
- [`kill`](https://man7.org/linux/man-pages/man2/kill.2.html)
- [`sleep`](https://man7.org/linux/man-pages/man3/sleep.3.html)
- [`usleep`](https://man7.org/linux/man-pages/man3/usleep.3.html)
- [`exit`](https://man7.org/linux/man-pages/man3/exit.3.html)## Compilation
### 1 - First things first, you need to clone this repository:
```python
git clone https://github.com/RogerioLS/Mini_Talk-42sp
```### 2 - Go to Minitalk and run make
```python
cd Mini_Talk-42sp/
make
```### 3 - Run server to get its PID and use it on client side to send the message you want.
```python
./server
./client
```and that's basically it! :)