#include <sys/types.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <stdio.h>
int main ()
{
int fd1[2];
int r = socketpair( AF_UNIX, SOCK_STREAM, 0, fd1 );
if ( r < 0 ) {
perror( "socketpair()" );
exit( 1 );
}
int val = 0;
pid_t pid1 = fork();
if(pid1 == 0)
{
close(fd1[1]);
while(1){
sleep(1);
write( fd1[0], &val, sizeof(val) );
read( fd1[0], &val, sizeof(val) );
printf("child1 read [%d]\n",val);
val++;
}
}
pid_t pid2 = fork();
if(pid2 == 0)
{
close(fd1[0]);
while(1){
read( fd1[1], &val, sizeof(val) );
printf("child2 read [%d]\n",val);
val++;
write( fd1[1], &val, sizeof(val) );
}
}
}