erreur de vide  (char * msg) { 
 
 
 
 perror (msg ) ; < br > exit 
 (0); } 
 
 
 
 int main (int argc, char * argv []) { 
 
 
 
 int sockfd , portno , n; 
 
 struct sockaddr_in serv_addr ; 
 
 struct hostent * serveur ; 
 
 char buffer [ 256]; 
 
 if ( argc <3 ) { 
 
 printf ( "port hostname utilisation % de \\ n", argv [ 0]); 
 
 exit (0) ; } 
 
 
 < p> portno = atoi (argv [2] ) ; 
 
 sockfd = socket ( AF_INET , SOCK_STREAM , 0); 
 
 if ( sockfd < 0) 
 erreur de 
 ( " prise d'ouverture ERROR" ) ; serveur 
 
 = gethostbyname ( argv [1] ) ; 
 
 if ( serveur == null) { 
 
 printf ( "Erreur, rien de tel hôte \\ n ") ; 
 
 exit (0) ; } 
 
 
 
 bzero ( (char *) & serv_addr , sizeof ( serv_addr ) ) ; 
 < p> serv_addr.sin_family = AF_INET ; 
 
 bcopy ( (char *) server-> h_addr , AB 
 (char *) & serv_addr.sin_addr.s_addr , 
 
 serveur > h_length ) ; 
 
 serv_addr.sin_port = htons ( portno ) ; 
 
 if ( connect ( sockfd , et serv_addr , sizeof ( serv_addr ) ) < 0) 
 erreur de 
 ( " Erreur de connexion "); 
 
 printf ( «S'il vous plaît entrer le message :"); 
 
 bzero (buffer , 256) ; 
 
 fgets (buffer , 255, stdin ) ; 
 
 n = write ( sockfd , tampon , strlen ( buffer) ) ; 
 
 if ( n < 0) 
 erreur de 
 ( " erreur d'écriture sur socket" ) ; 
 
 bzero (buffer , 256) ; 
 
 n = read ( sockfd , tampon , 255) ; 
 
 if ( n < 0) 
 
 erreur (" erreur de lecture du socket" ) ; 
 
 printf ( "% s \\ n", buffer); 
 
 return 0; } 
 
 
 5 
 Enregistrez le document en cliquant sur " fichier" et " Enregistrer". 
 6 
 fermer la fenêtre " gedit " en cliquant sur le «X» dans le coin supérieur droit . Le terminal s'affiche sur l' écran à nouveau 
 7 
 compiler le code UDP en tapant la commande suivante à la ligne de commande : . 
 
 Gcc- c udp.c 
 
 Appuyez sur "Entrée". Le terminal affiche les messages d'état de progrès car il compile le fichier . 
 8 
 Utilisez le programme " udp " pour envoyer du texte via un socket UDP . Sur la ligne de commande, tapez: 
 
 udp  
  Remplacer "