Skip to content
rom98759Public

About

Minitalk is a project that enables communication between processes using Unix signals, where one process sends a message bit by bit to another.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

Minitalk

Communication entre deux processus via les signaux UNIX. Un client transmet une chaîne à un serveur bit par bit, en n'utilisant que SIGUSR1 et SIGUSR2 — aucune socket, aucun fichier partagé. Projet du tronc commun de l'École 42.

C Signals License

Principe

sequenceDiagram
    participant C as client
    participant S as server (PID)
    Note over S: affiche son PID au démarrage
    loop pour chaque bit de chaque caractère
        C->>S: SIGUSR1 (bit = 1) ou SIGUSR2 (bit = 0)
        S-->>C: accusé de réception
    end
    Note over S: recompose les octets et affiche le message
Loading

Chaque caractère est envoyé bit par bit ; le serveur reconstruit les octets et, au caractère nul, affiche le message complet. Le serveur accuse réception de chaque bit pour fiabiliser la transmission.

Build & lancement

make                       # compile -> ./server et ./client
./server                   # affiche son PID, ex. 4242
./client 4242 "Hello 42!"  # envoie le message au serveur

Structure

server.c        boucle de réception, reconstruction des octets
server_utils.c  handlers de signaux
client.c        découpe le message en bits et les émet

Compilé avec -Wall -Wextra -Werror (norme 42).

Licence

MIT — voir LICENSE.

About

Minitalk is a project that enables communication between processes using Unix signals, where one process sends a message bit by bit to another.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages