An open API service indexing awesome lists of open source software.

https://github.com/amaitou/minitalk

Efficiently exchange small data in C with a UNIX signal-based program. This concise project leverages UNIX signals for streamlined communication, providing a simple and effective solution for data exchange in a lightweight environment. Explore the power of signals in this compact program designed for seamless small-scale data transfer.
https://github.com/amaitou/minitalk

1337school 42cursus 42network inter-process-communication minitalk42 signals

Last synced: 2 months ago
JSON representation

Efficiently exchange small data in C with a UNIX signal-based program. This concise project leverages UNIX signals for streamlined communication, providing a simple and effective solution for data exchange in a lightweight environment. Explore the power of signals in this compact program designed for seamless small-scale data transfer.

Awesome Lists containing this project

README

        

---
![Aristotle-Quotes-Featuredjpg](https://user-images.githubusercontent.com/49293816/210177590-ddeda375-331b-44a2-a766-4e9153250a7a.jpeg)

---

# Minitalk

Speaking of the projects of `42Cursus`, Minitalk belongs to the third circle in the Cursus.

This project aims to set up a communication program in the form of a client and a server using signals.

**``` Note: I haven't shared the PDF of this project, as well as, I haven't explained anything due to school privacy reasons!```**

This project consists of two parts:
- **Mandatory part**
- **Bonus Part**

> Note: The **Bonus Part** is not that necessary to validate the project, but it gives some extra XPs and days for the **`The Blackhole`**.

---

# Signals

when it comes to the communication between two processes there are plenty of ways to set up this communication, and here are some of them:
- [Shared memory](https://www.geeksforgeeks.org/ipc-shared-memory/)
- [Named Pipe or FIFO](https://www.geeksforgeeks.org/named-pipe-fifo-example-c-program/)
- [PIPES](https://www.ibm.com/docs/en/aix/7.1?topic=io-working-pipes)
- [Signal](https://www.geeksforgeeks.org/signals-c-language/)

This project limits you to use only signals to set up this communication between these two processes (`client` & `server`) by sending a message from the `client` to the server according to that last's process id.

> You are allowed to use only these two signals **SIGUSR1** and **SIGUSR2**

---

# Things you will learn in this project

> Signals

> Processes

> IPC (Inter Process Communication)

> Bit masking

> Makefile

> Syscalls

---

### **Contact Me**

* [Twitter][_1]

[_1]: https://twitter.com/amait0u

[_1]: https://twitter.com/amait0u
[_2]: https://www.instagram.com/amait0u