The purpose of this project is to code a small data exchange program using UNIX signals.
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:
-
- The server PID;
-
- 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!
To compile, navigate to the project directory and run:
$ makeStart the "server", it's PID will displayed on the terminal.
$ ./serverIn 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.