Skip to content

Minitalk is a 42 School project that demonstrates UNIX signal communication by creating a client-server program where messages are transmitted between processes using only SIGUSR1 and SIGUSR2 signals.

Notifications You must be signed in to change notification settings

mtelek/minitalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minitalk - UNIX Signal Communication

Build Status Code Size Project Score

✨ Description

Minitalk is a small data exchange program that demonstrates communication between a client and a server using UNIX signals (SIGUSR1 and SIGUSR2).
The server receives and displays strings sent by the client, with the communication happening exclusively through signals.
This project showcases low-level inter-process communication in a Unix environment.

Key Features

  • Client-server architecture using UNIX signals
  • Efficient transmission of strings between processes
  • Supports multiple consecutive client connections
  • Fast performance (100+ characters per second)
  • Server acknowledgment signals
  • Unicode character support

🛠️ Installation & Compilation

1, Clone the repository

git clone git@github.com:mtelek/minitalk.git
cd minitalk

2, Compile the project

make

This will create two executables: server and client.

🚀 Usage

1, First, start the server in one terminal:

./server

The server will display its PID which you'll need for the client.
2, In another terminal, use the client to send messages:

./client [server-pid] "your message here"

3, The server will display received messages in real-time.

🧪 Automated Testing

You can test the project using the Minitalk-Tester by ThibaudM13.
This tester helps verify the functionality and performance of the implementation of the project.

Tester

Server's output

About

Minitalk is a 42 School project that demonstrates UNIX signal communication by creating a client-server program where messages are transmitted between processes using only SIGUSR1 and SIGUSR2 signals.

Topics

Resources

Stars

Watchers

Forks