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.
- Host: GitHub
- URL: https://github.com/amaitou/minitalk
- Owner: amaitou
- Created: 2022-12-31T17:16:37.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-01T23:06:54.000Z (about 1 year ago)
- Last Synced: 2025-03-28T19:46:48.356Z (3 months ago)
- Topics: 1337school, 42cursus, 42network, inter-process-communication, minitalk42, signals
- Language: C
- Homepage:
- Size: 25.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
---
# 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