/Minitalk

School 21 project

Primary LanguageCApache License 2.0Apache-2.0

Minitalk

About

This project is part of program in School 21 (Ecole 42). The purpose of this project is to code a small data exchange program using UNIX signals.

Requirements

  • GNU GCC
  • GNU Make

Installation and usage

  1. Download/Clone this repo

    git clone https://github.com/shalfbea/Minitalk

  2. Get into the root directory of project and run make command

    cd Minitalk make

  3. Now you can run ./server in first terminal session and ./client in an other Example:

Minitalk_example

Note: Client will notify for every signal received by server

Technical task

The full task can be found here: minitalk_subject

Quick summary:

  • Only using c language is allowed
  • Code-style should respect the The Norm
  • No memory leaks, segmentation faults, undefined behavior
  • Only allowed functions: write, sigemptyset, sigaddset, sigaction , getpid, kill, malloc, free, pause, sleep, usleep, exit
  • Can also use libft (own implementation of part of the library functions) and ft_printf (own implementation of printf function)

Bonus (enabled by default)

  • The server acknowledges every message received by sending back a signal to the client.
  • Unicode characters support

Evaluation result:

Screen Shot 2022-09-14 at 19 14 00