Este es un proyecto cuyo propósito es crear un pequeño programa de intercambio de datos utilizando señales UNIX.
El proyecto se compone de dos programas: un cliente y un servidor.
server: El servidor debe lanzarse primero y, tras lanzarse, debe mostrar su PID.client: El cliente tomará como parámetros el PID del servidor y la string que debería mandarse. Una vez que el cliente haya comunicado la string, el servidor debe mostrarla.
La comunicación entre el cliente y el servidor debe hacerse SOLO utilizando señales UNIX: SIGUSR1 y SIGUSR2
Para usar el proyecto, primero compila ambos ejecutables con make:
$ makeLuego, inicia el servidor en una terminal. Te mostrará su PID:
$ ./server
PID: [número_del_pid]Finalmente, en otra terminal, ejecuta el cliente, pasando el PID del servidor y el mensaje que deseas enviar:
$ ./client [número_del_pid] "Hola, mundo!"El servidor recibirá el mensaje y lo imprimirá en su terminal.
- Señales en UNIX: http://www.inf.udec.cl/~chernand/sc/labs/senales.htm
volatile sig_atomic_ten "server.c"- Calificador
volatile: https://www.ibm.com/docs/es/i/7.5.0?topic=qualifiers-volatile-type-qualifier - Estructuras atómicas: https://en.cppreference.com/w/c/program/sig_atomic_t
- Calificador
SIGACTION- Librería
<signal.h> - Operaciones bit a bit (para la decodificación del mensaje en
server.c)
