nikpez di nikpez
Ominide 738 punti

Named pipe

PGM PER INVIARE DATI
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>


#define DIM_MAX 40

int main(int argc, char** argv) {
char temp[DIM_MAX];
int fd;

//Apertura named pipe
fd = open("fileFIFO", O_WRONLY);

if (fd==-1)
return 1;

while (1) {
printf("Cosa spedire: ");
fgets(temp, DIM_MAX, stdin);

//Scrittura su pipe
write(fd, temp, DIM_MAX);
}

//close(pipe) se non ci fosse loop sopra
}

PGM PRE RICEVERE DATI
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>

#include <sys/stat.h>


#define DIM_MAX 40

int main(int argc, char** argv) {
char temp[DIM_MAX];
int fd;

//Apertura named pipe
fd = open("fileFIFO", O_RDONLY|O_ASYNC);

if (fd==-1)
return 1;

while (1) {
printf ("In attesa...\n");
int retVal=read(fd, temp, DIM_MAX);
printf ("Ricevuto: %s - retVal=%d\n",temp,retVal);
}


//close(pipe) se non ci fosse loop sopra
}

Registrati via email