3.4.4 Exemple de client
int main(int argc,char *argv[])
{
int s; /* Descripteur de SOCKET */
struct sockaddr_in6 adresse; /* Adresse de la SOCKET du serveur */
int statut; /* Stocke le statut des commandes */
/* Analyse des arguments */
analyseArguments(argc,argv);
/* Creation de la SOCKET du client */
s=socket(PF_INET6,SOCK_DGRAM,0);
if(s<0){perror("socket"); exit(-1);}
/* Preparation de la structure adresse du serveur */
adresse.sin6_family=AF_INET6;
if(nomVersAdresse(machine,(void *)&adresse)<0){
fprintf(stderr,"Impossible de trouver l'adresse IP du serveur !\n");
exit(-1);
}
adresse.sin6_port=htons(port);
adresse.sin6_flowinfo=0;
adresse.sin6_scope_id=0;
/* Dialogue avec le serveur */
{ char tampon[MAX_TAMPON];
int taille;
fgets(tampon,MAX_TAMPON,stdin);
sendto(s,tampon,strlen(tampon),0,(struct sockaddr *)&adresse,sizeof adresse);
taille=recvfrom(s,tampon,MAX_TAMPON,0,NULL,NULL);
fputs(tampon,stdout);
}
/* Fermeture de la SOCKET de dialogue */
close(s);
exit(0);
}