Explications générales
- Document : S3_client_serveur.pdf
Exercices
- TP #1 : programmation client-serveur (solutions)
- TP #2 : serveur de fichiers (implémentation de référence, solutions)
- TP #3 : tassement d'un tableau (implémentation de référence, solutions)
- TP #4 : utilisation des fonctions système (solutions)
- TP #5 : client / serveur UDP (implémentation de référence)
Lorsqu'elle est fournie, l'implémentation de référence est une version précompilée des programmes demandés. Cela permet, par exemple, de tester son client avec le serveur fourni, et réciproquement. Voir le fichier README pour des informations complémentaires (usage, etc).
Cette facilité ne dispense évidemment pas d'écrire ses propres versions des clients et serveurs, mais ça évite d'avoir à développer les deux programmes simultanément.
Parfois, il est également possible d'utiliser la commande nc(1) (netcat) pour remplacer temporairement le client et/ou le serveur.
Biblothèque client/serveur
- Bibliothèque client_serveur.a, et fichier d'en-tête client_serveur.h (mise à jour le 13/11/2022).
Pour compiler, ajouter simplement la bibliothèque à la liste des fichiers source sur la ligne de commande :$ gcc -g -Wall -Wextra -Og -o toto toto.c client_serveur.a
NB : la bibliothèque est compilée pour Linux x86-64. - Exemples : exemple_client.c et exemple_serveur.c. Exemples plus complexes : client_tcp.c et serveur_tcp.c.
- Code source de la bibliothèque sur gitlab.iut-bm. Seulement utile si vous avez besoin de la recompiler pour une autre combinaison système/architecture.