DIAGRAMA DE FLUJO Y SECUENCIAL
DE UN SERVIDOR DE ENVIO DE
CORREO
GRUPOS:
-SG08
-SG09
-SG10
DIAGRAMA DE FLUJO
Para comenzar comprobamos los parámetros, reservamos memoria, creamos el
socket, el binding, dejamos en escucha y esperamos a que nos llegue una petición
de conexión, como en el ejemplo del servachat_a
Una vez aceptamos la petición, debemos llamar a la función sendmail, donde
comprobamos la conexión, si es correcta intentamos abrir el archivo user. Si dicho
archivo no existe mandamos un mensaje diciendo que no tiene correos y cerramos
la conexión. Si por el contrario si que existe extraemos los datos, borramos el
archivo y cerramos la conexión volviendo a quedarnos en espera hasta que el
usuario teclee CTRL-C para salir del bucle.
DIAGRAMA SECUENCIAL
1. Creamos un servidor.
2. El bucle comienza tras Listen OK? en la columna de la derecha (flecha verde). Una vez dentro y tras
aceptar la conexión se leen los 7 bytes del usuario y se comprueba si user/loginus existe y puede
abrirse. En caso negativo se avisa al cliente de que no tiene correos y en caso afirmativo se da paso a
extraer los bytes del archivo y a hacer escrituras en el socket, con sendas comprobaciones de error.
Una vez enviado el correo, se borra el archivo y se da paso al cierre de la conexión con el cliente, la
función sendMail() devuelve (0) si todo ha ido bien y (-1) en caso contrario y vuelve al inicio del bucle
(Aceptar conexión) a la espera de nuevos clientes.
Descargar

BigGroupC