G. FIFO Client/Server Program in Unix Using C Programming

PROGRAM USING FIFO

SERVER:


#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<string.h>
int main()
{
char fname[25]="";
char fcontent[100]="";
int fd,fd1,fd2;
mkfifo("fifo1",0600);
mkfifo("fifo2",0600);
fd=open("fifo1",O_RDONLY);
fd1=open("fifo2",O_WRONLY);
read(fd,fname,25);
fd2=open(fname,O_RDONLY);
while(read(fd2,fcontent,100)!=0)
{
printf("%s\n",fcontent);
if(fd<0)
write(fd1,"file not exit",14);
else
write(fd1,fcontent,strlen(fcontent));
}
close(fd);
close(fd1);
close(fd2);
}

CLIENT:

#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<string.h>
int main()
{
char s[100]="";
char s1[1000]="";
int fd,fd1;
fd=open("fifo1",O_WRONLY);
fd1=open("fifo2",O_RDONLY);
printf("\nEnter the file name:");
scanf("%s",s);
write(fd,s,strlen(s));
while(read(fd1,s1,1000)!=0)
{
printf("File Content :%s",s1);
}
}

OUTPUT:

Enter the file name:strcmp.c

File Content :#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<stdlib.h>
include<string.h>
int main(int argc,char *argv[])
{
        if(strcmp(argv[1],argv[2])==0)
                printf("The gistrcmp.c
#strcmp.cFile Content :include<string.h>
int main(int argc,char *argv[])
{
       if(strcmp(argv[1],argv[2])==0)
ven strings are equal");
        else
                printf("The strings are not equal");
}
rgv[2])==0)
                printf("The gistrcmp.c
                printf("The gistrcmp.cFile Content :ven strings are equal");
        else
                printf("The strings are not equal");
}
                printf("The gistrcmp.c[1]+  Done                    ./server