Skip to content

enekomb/minitalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minitalk — Client-Server Communication via UNIX Signals

42 Urduliz — Common Core project

A minimal client-server communication program that transmits strings bit by bit using only UNIX signals (SIGUSR1 and SIGUSR2).


How It Works

  1. Start the server — it prints its PID
  2. Run the client with the server PID and a message string
  3. The client encodes each character as 8 bits and sends SIGUSR1 (bit 0) or SIGUSR2 (bit 1) to the server
  4. The server reconstructs the characters and prints the message

Build & Run

make
./server &          # prints PID
./client <PID> "Hello, World!"

Technical Highlights

  • Pure signal-based IPC — no pipes, no sockets
  • Uses sigaction() for reliable signal handling
  • Unicode support (multi-byte characters)
  • Acknowledgement system: server confirms each character received

Skills

C UNIX Signals IPC Bitwise Operations Linux


Academic Integrity

This repository is shared for educational and portfolio purposes only.

For 42 students:

  • Do not copy this code for your own project submissions
  • Use it as a reference to understand concepts and approaches
  • Write your own original solution — that is the only way to actually learn

42's core values are learning through practice, peer collaboration, and genuine problem-solving.


License

MIT — see LICENSE for details. Copyright (c) 2026 Eneko Muñoz Bordona

About

Client-server communication via UNIX signals (SIGUSR1/SIGUSR2) | 42 Urduliz

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages