Programme serveur FIFO

entrez la description de l'image ici

Le programme ci-dessus, j’ai tapé sous linux. Il doit en principe connecter un client et un serveur dans des terminaux distincts. Mais quand je les lance dans le bon ordre, c’est à dire

  1. Serveur de compilation -> serveur d’exécution
  2. Comstackr le client -> exécuter le client

Les terminaux ne font rien. Il n’imprime même pas la partie "Trying to connect" de la première instruction printf . Quelle est l’erreur ici?

MODIFIER

J’ai vérifié la valeur de retour de mkfifo comme l’a dit @parapura rajkumar. Mais cela rest le même. Voici mon code modifié pour le serveur.

 if(mkfifo("fifo1",0666)<0) { printf("Error"); } if(mkfifo("fifo2",0666)<0) { printf("Error"); } fflush(stdout); 

Vous avez fait l’impasse. Le serveur attend ouvert (“fifo1”, O_RDONLY) et le client attend ouvert (“fifo2”, O_RDONLY).

Modifier client.c:

 int writefd = open("fifo1",O_WRONLY); int readfd = open("fifo2",O_RDONLY);