
|
La programmation réseau
TD 1 - Sockets Unix et UDP
|
C.
Drocourt
I.U.T. Amiens
drocourt@iut-amiens.fr
|
Exercice 1 : Socket UNIX
Créez un programme nommé sockunix.c qui prend comme
argument le nom d’un fichier qui sera la référence pour
la création d’une socket type SOCK_DGRAM du domaine Unix.
Vérifiez avec netstat. Essayez le avec un fichier existant.
Exercice 2 : Serveur d'echo UDP
1 - Faites un programme qui écoute sur le port 1023 en UDP, vérifiez avec la commande netstat,
2 - Mettez vous en attente d'un message à l'aide de la commande
recvfrom, affichez ce que vous allez recevoir et testez avec la
commande netcat,
3 - Modifiez votre programme pour réenvoyer ce que le programme a reçu à l'aide de la primitive sendto,
4 - Modifiez votre programme pour effectuer ceci en boucle réception/émission,
Exercice 3 : Client d'echo UDP
Le client UDP fonctionne de la même manière que le
serveur, à l'exception près qu'il doit construire
l'adresse du serveur de la manière suivante :
if ((hp = gethostbyname(SERVEUR))==NULL) {
perror("gethostbyname...");
exit(2);
}
bcopy(hp->h_addr,&name.sin_addr,hp->h_length);
name.sin_family = AF_INET;
name.sin_port = htons(PORT);
1 - En partant du programme précédent du serveur, réalisez le client d'echo UDP,
2 - Modifiez votre programme pour pouvoir passer le nom DNS de destination sur la ligne de commande,