Video appunto: Named Pipe
Named pipe


PGM PER INVIARE DATI
#include
#include
#include
#include
#include
#include


#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
#include
#include
#include
#include
#include


#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
}