Minitalk demonstrates inter-process communication (IPC) using only UNIX signals SIGUSR1 and SIGUSR2 to transmit messages between a server and client at the bit level.
Overview
Minitalk is a minimalist communication program that implements a client-server architecture using UNIX signal handling. The system transmits text messages by encoding each character into individual bits and sending them as signals, showcasing low-level process communication techniques.Key Features
Signal-Based Communication
Uses SIGUSR1 and SIGUSR2 signals for inter-process communication
Binary Transmission
Transmits messages bit by bit with precise timing control
PID-Based Addressing
Client connects to server using process ID (PID)
Lightweight Implementation
Minimal dependencies with custom printf implementation
Quick Start
Get started with Minitalk in just a few steps:Build the Project
Compile the server and client executables
Run the Server
Start the server and get its PID
Send Messages
Use the client to transmit messages to the server
API Reference
Explore the core functions and usage
How It Works
Minitalk works by converting each character into its binary representation and sending individual bits as UNIX signals:- Server listens for SIGUSR1 (bit 0) and SIGUSR2 (bit 1) signals
- Client sends the server’s PID and message as command-line arguments
- Each character is transmitted as 8 bits using signal sequences
- Server reconstructs characters from received bits and displays them
Get Started
Follow our quickstart guide to build and run Minitalk in minutes