Je souhaite écrire un programme permettant à un serveur et plusieurs clients de communiquer via des fifos. Depuis le programme serveur, je souhaite appeler plusieurs fois un programme via l'appel système execv et un appel à fork afin de créer un process serveur et plusieurs process clients.
Après exécution de mon programme et l’exécution dans ma console Ubuntu de la commande "ps", cela ne semble pas marcher comme prévu. Mes fifos ne sont pas crées correctement coté client
Mon programme n'est qu'une ébauche, je souhaite juste valider que la création des fifos coté client se passe bien.
Code MyClient.c
Code :
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#define CLIENT_PIPE "NamedPipeClient"
int main(int argc,char* argv[])
{
char buf[128];
sprintf(buf,"%s%d", CLIENT_PIPE, atoi(argv[1]));
/* Creation of the fifo */
umask(0);
if((mknod(buf, S_IFIFO | 0666, 0)) !=0)
{
printf("Error on the client fifo creation (%s).\n", CLIENT_PIPE);
Marsh Posté le 22-05-2016 à 00:59:57
Bonsoir,
Je souhaite écrire un programme permettant à un serveur et plusieurs clients de communiquer via des fifos.
Depuis le programme serveur, je souhaite appeler plusieurs fois un programme via l'appel système execv et un appel à fork afin de créer un process serveur et plusieurs process clients.
Après exécution de mon programme et l’exécution dans ma console Ubuntu de la commande "ps", cela ne semble pas marcher comme prévu.
Mes fifos ne sont pas crées correctement coté client
Mon programme n'est qu'une ébauche, je souhaite juste valider que la création des fifos coté client se passe bien.
Code MyClient.c
Code MyServer.c