-
Notifications
You must be signed in to change notification settings - Fork 0
Home
El propósito de este proyecto es crear un pequeño programa de intercambio de datos utilizando señales UNIX.
-
Debes crear un programa de comunicación en la forma de un
cliente
y unservidor
. -
El
servidor
debe lanzarse primero, tras lanzarse debe mostrar suPID
. -
El
cliente
tomará como parámetros:- El
PID
del servidor. - La string que debería mandarse.
- El
-
El cliente debe comunicar la string pasada como parámetro al servidor.
Una vez la string se haya recibido, el servidor debe mostrarla. -
El servidor debe ser capaz de mostrar la string suficientemente rápido.
Por rápido queremos decir que si piensas que es está tardando mucho, probablemente es que está tardando demasiado.
1 segundo para mostrar 100 caracteres es ¡muchíiiiisimo!
- Tu servidor debe poder recibir strings de distintos clientes consecutivamente, sin necesidad de reiniciar.
- La comunicación entre tu cliente y tu servidor debe hacerse SOLO utilizando señales UNIX.
- Solo puedes utilizar estas dos señales:
SIGUSR1
ySIGUSR2
.
Linux no pone en cola señales cuando ya tienes señales pendientes de este tipo. ¿Hora de hacer bonus?
- El servidor confirma cada señal recibida mandando una señal al cliente.
- Soporta los caracteres Unicode.
- Se permite usar la
libft
-
write
~ Escribe en un file descriptor - ft_printf y cualquier equivalente que TÚ hayas programado
-
malloc
~ Reserva memoria -
free
~ Libera memoria reservada -
exit
~ Termina el programa.
====
-
pause
~ Suspende el programa hasta que reciba una señal -
sleep
~ "Duerme" durante un especifico numero de segundos -
usleep
~ Suspende temporalmente durante un especifico numero de microsegundos
====
-
getpid ~ Recupera el
PID ID
del proceso en ejecucion - signal ~ Capta señales
- sigemptyset ~ Initialize and empty a signal set
- sigaddset ~ add a signal to a signal set
-
sigaction ~ Capta
señales
, capta elPID
del comunicador, y bloquea otras señales -
kill ~ Envia una
señal
a unPID
concreto