Skip to content

The purpose of this project is to code a small data exchange program using UNIX signals.

Notifications You must be signed in to change notification settings

phspeters/minitalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’¬ minitalk

πŸ’‘ About the project

The purpose of this project is to code a small data exchange program using UNIX signals.

πŸ“ Requirements

Mandatory part:

  • You can have one global variable per program (one for the client and one for the server), but you will have to justify their use
  • Name your executable files client and server.
  • The server must be started first. After its launch, it has to print its PID.
  • The client takes two parameters:
      1. The server PID;
      1. The string to send.
  • The client must send the string passed as a parameter to the server. Once the string has been received, the server must print it.
  • The server has to display the string pretty quickly. Quickly means that if you think it takes too long, then it is probably too long (1 second for displaying 100 characters is way too much!)
  • Your server should be able to receive strings from several clients in a row without needing to restart.
  • The communication between your client and your server has to be done only using UNIX signals.
  • You can only use these two signals: SIGUSR1 and SIGUSR2.

Bonus part:

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

πŸ“‹ Testing

To compile, navigate to the project directory and run:

$ make

Start the "server", it's PID will displayed on the terminal.

$ ./server

In a separate shell tab, launch the "client," providing the server's PID as your first argument and your message as second argument.

$ ./client "PID" "Your message string"

Your message will be displayed in the server window.

About

The purpose of this project is to code a small data exchange program using UNIX signals.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published