Skip to content

School 42 Málaga cursus project. The purpose of this project is to code a small data exchange program using UNIX signals. It is an introductory project for the bigger UNIX projects that will appear later on in the cursus.

Notifications You must be signed in to change notification settings

Javisanchezf/42Malaga-minitalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42 Malaga Minitalk

School 42 Málaga cursus project.

This repository contains all archives for the project minitalk in the School 42 Málaga core cursus.

About

The Minitalk project is designed to test your ability to communicate between two processes using signals. The project consists of two programs: the server and the client. The server program waits for incoming signals from the client program and then decodes them to reconstruct a message. The client program takes a string as input, converts it to binary code, and sends it bit by bit to the server using signals. You can find more information in the subject.

The code in this repository follows the rules of the Norminette.

Requirements

The project is written in C language and needs:

  • Compiler gcc.
  • The following standard libraries:
    • <stdlib.h>
    • <unistd.h>
    • <signal.h>
  • Software development tool GNU Libtool.

Instructions

1. Download the repository

To download the repository, go to the console and run:

git clone --recursive https://github.com/Javisanchezf/42Malaga-minitalk.git
cd 42Malaga-minitalk

2. Compiling the library

To compile the library, go to its path and run:

make

Or you can compile the bonus part with:

make bonus

3. Cleaning all binary (.o) executable files (.a) and the program

To delete all files generated with make, go to the path and run:

make fclean

4. Using it

To use the programs, start the server program in one terminal window:

./server

The server will then output its process ID (PID) to the console. Keep this window open, as the PID is needed to start the client program.

In another terminal window, start the client program, passing the server's PID as an argument:

./client [server PID] [message]

Replace [server PID] with the PID outputted by the server program, and [message] with the message you want to send to the server. The message can only contain ASCII characters.

The client program will then send the message to the server, which will decode it and output it to the console.

Testing

To test the program, you can try sending different messages from the client to the server and see if they are correctly decoded. You can also try sending messages with special characters or messages that exceed the maximum length, to see how the programs handle these cases.

License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

You are free to:

  • Share: copy and redistribute the material in any medium or format.
  • Adapt: remix, transform, and build upon the material.

Under the following terms:

  • Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial: You may not use the material for commercial purposes.
  • ShareAlike: If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

Share the content!

About

School 42 Málaga cursus project. The purpose of this project is to code a small data exchange program using UNIX signals. It is an introductory project for the bigger UNIX projects that will appear later on in the cursus.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published