1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
   | void* message(void* data);
 
 
int main(int argc, char *argv[])
{
 
/*
 
..............Variables et socket................
 
*/
 
pthread_t thread;/* crée un thread */
pthread_create(&thread, NULL, message, NULL);/* Permet d'exécuter le fonction message en parallèle */
 
while (1)
{ /* début boucle wirthe */
 
system("CLS");
 
printf("\n%s : ", pseudo);
 
    fgets(chaine, sizeof chaine, stdin);
    clean(chaine);
 
 
    snprintf(buffer, sizeof(buffer), "%s : %s \n", pseudo, chaine);
 
   send(s, buffer, strlen(buffer), 0); 
 
    if  ( strcmp( chaine, "exit" ) == 0 )
    { 
 
       goto fin; /* je sais goto c'est pas bien mais c'est juste pour faire les testes en attendant :p */
 
    }  
} /* fin boucle writhe */  
pthread_join(thread, NULL);
 
/*
.........fermeture socket..............
*/
 
return o;
}
 
void* message(void* data); /* Fonction de réception de message */
      {
   while(1)  /* boucle de réception des messages */
   {
 memset(buffer, '\0', sizeof(buffer));
 n = recv(s, buffer, sizeof(buffer) - 1, 0);
 printf("%s\n",buffer);
   }
      } /* Finc de la fonction de réception des messages */ | 
Partager