BOnjour j'ai un petit problème.
Je voulais faire en sorte que mon serveur puisse gérer la réception et
l'envoi de message en parralèle, mais celà ne marche pas et je ne
comprend pas pk.
qq'un pourrai t'il m'aider ? je vous fait un CC d'un bout dmon code
il n'y a que la lecture pour l'instant car je ne vois pas encore comment je vai faire pour l'ecriture
client = accept(s,(struct sockaddr *) &pre,&longueur) ;
if(client < 0)
erreur("erreur acceptation client");
fd_set fread;
fd_set fwrite;
while(1)
{
FD_ZERO(&fread);
FD_ZERO(&fwrite);
FD_SET(s,&fread);
FD_SET(s,&fwrite);
FD_SET(0,&fread);
FD_SET(0,&fwrite);
if( (sel=select(s+1,&fread,&fwrite,NULL,NULL)) <0)
erreur("erreur select\n");
buf=(char *)malloc(256);
i=0;
longueur = sizeof(struct sockaddr_in);
char *msg;
// client = accept(s,(struct sockaddr *) &pre,&longueur) ;
if(FD_ISSET(client,&fread))
{
rec=read(client,buf,256);
if(strncmp(buf,"/fin",4) == 0)
{
printf("L'utilisateur %s c'est déconnecté\n",inet_ntoa(pre.sin_addr));
close(client);
}
else
{
printf("le
Buffer est : %s\n",buf);
}
i=strlen(buf);
msg = (char *)malloc(i+1);
msg[i]='\0';
strncpy(msg,buf,i);
printf("message reçu : %s\n",msg);
}
merci d'avance