Utilisation des Sockets
Le code source complet des programmes

Exercice 1 : Envoie de fichier par les sockets TCP/IP
Exercice 2 : Serveur d'environnement en UDP
On souhaite écrire un serveur qui reçoit des requêtes de la part des clients et les traitent. Une requête prend une des deux formes suivantes : S id val pour associer la valeur val à l'identificateur id et : G id pour récupérer la valeur associée à l'identificateur id. Le client reçoit sur son propre socket les confirmations / réponses du serveur.Exercice 3 : Mini-serveur FTP
On veut écrire un mini-serveur de transfert de fichier en utilisant les sockets TCP/IP, un client peut choisir une des options suivantes : « LIST » pour afficher les fichiers stockés sur le serveur, « DOWNLOAD » pour télécharger un fichier du serveur et enfin « UPLOAD » pour envoyer un fichier au serveur. Le serveur reçoit les requêtes du client sur un socket client et les traitent.Exercice 4 : Communication de groupe en multicast
Ce programme permet à N processus dans un réseau local d'échanger des messages en temps réel sous la forme de texte via le terminal, chaque processus lance le programme avec la commande : $ mychat addr port pseudo.Exercice 5 : Sonar & Ponger en broadcast
Un programme sonar diffuse toutes les 3 secondes le message "PING" en broadcast sur le port 9999 puis attend le message "PONG" des sites disponibles. De son coté, un site disponible (représenté par le programme ponger) envoie pour chaque message "PING" reçu, le message "PONG" à l'émetteur.Exercice 6 : Fonction select
Un serveur mono-processus et mon-threadé reçoit des demandes de connexion sur plusieurs ports puis affiche l'adresse IP et le port sur lequel il a reçu la demande de connexion et enfin enregistre l'IP du client dans un fichier cxlog. On utilise la fonction select pour attendre sur plusieurs sockets (plusieurs ports).
