Skip to content

ricky9leet/1337_minitalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 1337 Project: Minitalk

Development repository for the 42cursus' Minitalk project
For more about 1337 Coding School and its projects, feel free to connect with me on LinkedIn.


🏆 Project Score

I achieved a perfect score of 125/100 on this project! 🎯


📖 About

Minitalk is a project that explores inter-process communication (IPC) using UNIX signals. The goal is to create a simple messaging system where one process (the client) sends a message to another process (the server) using SIGUSR1 and SIGUSR2 signals.

📌 Key Concepts

  • Signals: Minitalk uses SIGUSR1 and SIGUSR2 to encode and transmit data.
  • Bitwise Operations: Each character of the message is sent bit by bit using signals.
  • Signal Handling: The server catches and decodes signals to reconstruct the original message.
  • Real-time Communication: Ensuring signals are processed in the correct order without loss.

🛠 Usage

🔹 Compilation

To compile the project, use:

make

This will generate two executables:

  • server
  • client

To compile both the mandatory and bonus parts:

make bonus

To clean up object files:

make clean

To remove executables and object files:

make fclean

To recompile everything from scratch:

make re

🔹 Running the Server

Start the server first:

./server

The server will print its PID (Process ID), which you’ll need for the client.

🔹 Sending a Message

Use the client to send a message to the server, replacing <PID> with the server’s actual PID:

./client <PID> "Hello, World!"

The server will receive and print the message.

🔹 Bonus Features

The bonus version includes:

  • Unicode Character Support
  • Message Acknowledgment from Server to Client
  • Handling Very Large Messages

To test the bonus part, run:

./server_bonus
./client_bonus <PID> "This is the bonus part! 🚀"

📌 Useful Links

📚 Documentation & References

🛠 Technical Articles & Guides

Happy coding! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published