Aide en KDE svp

didi_info Messages postés 1 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 3 juin 2009 - 3 juin 2009 à 12:53
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 3 juin 2009 à 17:06
Bonjour je ai un problème j’ai programmé une fonction mais il y a un erreur

la fonction :

int main(int argc, char **argv)
{
 
 
 
fd_set lecture, ecriture, except;
struct sockaddr_un adr_dist_emit, adr_dist_rec;
int s_medemit, s_medrec, nbfds, nb_events,
stop=0, crash=0, res, TypeDErreur;
 
if((argc!=1)&&(argc!=2))
{printf("Usage : medium\n");
printf("ou medium <typederreur> \n");
exit(1);}
 
if(argc==1) TypeDErreur = 0; /* pas d'erreur */
else TypeDErreur = atoi(argv[1]);

 
/**
initialisation du generateur aleatoire !!
*/
srand48(time(0));
/* ----- creation et attachement des sockets --------------*/
/* ----- preparation de l'adresse de la socket distante -- */
 
s_medemit = GetAndBindSocket("s_medemit");
s_medrec = GetAndBindSocket("s_medrec");
 
adr_dist_emit = PrepareAdresse("sock_emit");
adr_dist_rec = PrepareAdresse("sock_rec");

/* ----- Preparation de select ----------------------------*/
 
if(s_medemit>s_medrec) nbfds = s_medemit + 1;
else nbfds = s_medrec + 1;
 
/* ----- Echanges de donnees ------------------------------*/
 
printf("Medium pret\n");

while((!stop)&&(!crash))
{
/*---- Preparation des ensembles -------- */
/*--------- de descripteurs ------------- */

FD_ZERO(&lecture);
FD_ZERO(&ecriture);
FD_ZERO(&except);
FD_SET(s_medemit, &lecture);
FD_SET(s_medrec , &lecture);

/*------- attente d'un evenment --------- */
 
nb_events = select (nbfds, &lecture, &ecriture,
&except, NULL);
if(nb_events==-1){perror("select"); crash=1;}

/*------- le depouillement des votes ---- */

if(FD_ISSET(s_medemit, &lecture))
{
// res = Echange(s_medemit, s_medrec,
// adr_dist_rec, TypeDErreur);
if(res==0) stop=1;
elseif(res<0) crash=1;
}

if(FD_ISSET(s_medrec, &lecture))
{
// res = Echange(s_medrec, s_medemit,
// adr_dist_emit, TypeDErreur);
if(res==0) stop=1;
elseif(res<0) crash=1;
}
}
 
if(crash)
printf("Echange interrompu\n\n");
elseif(stop)
printf("Echange termine. Deconnexion.\n\n");

close(s_medrec);
close(s_medemit);
remove("s_medemit");
remove("s_medrec");
return0;

voila l’erreur :
*** Sortie avec l'état: 1 ***

s_medemit: Address already in use
SVP aide moi

1 réponse

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
3 juin 2009 à 17:06
c'est quoi ces fonctions ?
GetAndBindSocket et PrepareAdresse

A mon avis ton fichier est mal fermé, donc pas supprimé et à l'exécution suivante ca pète.
0
Rejoignez-nous