Utilisation de la bibliothèque de fonctions client-serveur

Bibliothèque client-serveur

Les fonctions de la bibliothèque client_serveur.a disponible sur cours-info :

int creer_serveur_tcp(int port, int debug);
int attendre_client_tcp(int socket_serveur, int debug);
int creer_client_tcp(const char *nom, int port, int debug);

Écrire un client et un serveur échangeant des entiers

Envoi d'un entier

Le client envoie un message de 4 octets représentant un nombre entier non signé. Le serveur écrit sur la sortie standard la valeur de ce nombre.

Calcul de la somme des nombres d'un tableau

Le client envoie un premier message contenant 4 octets représentant un nombre entier non signé correspondant à la taille du tableau d'entiers contenu dans le second message. Le serveur calcule la somme des éléments du tableau et retourne 1 message de 4 octets contenant cette somme

Après réception de cette somme le client affiche sur la sortie standard la valeur reçue. Le serveur traitera les clients séquentiellement et ne se terminera pas après la connexion d'un client.

Écriture d'un serveur parallèle

Reprendre le même exercice mais le serveur accepte la connexion de plusieurs clients simultanément et traite les requêtes en parallèle.

Traitement du signal de fin de processus fils

Le serveur maître purgera les codes de retour de ses processus fils en traitant le signal envoyé par le système lors de la fin d'un processus fils.

Terminaison du serveur sur réception du signal SIGUSR1

À la réception de ce signal le serveur doit se terminer après avoir affiché sur la sortie d'erreur standard le message : « signal reçu, terminaison du serveur. »