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