A client-server communication program using UNIX signals for data transmission.
Minitalk is a small data exchange program that uses UNIX signals (SIGUSR1 and SIGUSR2) for character-by-character communication between processes.
- Reliable communication using only SIGUSR1 and SIGUSR2 signals
- Server displays its PID on startup
- Client can send messages to server using PID
- Server acknowledges received messages
- Handles multiple clients simultaneously
- Buffer-based output for efficiency
- Start the server:
./server
The server will display its PID.
- Send messages using the client:
./client <server_pid> "Your message here"
# Terminal 1
> ./server
The server is ready [PID: 12345]
# Terminal 2
> ./client 12345 "Hello World!"
- Signal handling using
sigaction
- Bit-by-bit data transmission
- Buffer-based output management
- Error handling for process communication
- Client acknowledgment system