linux编程---进程通信中,利用socketpair实现子进程间通信

xiaoxiao2021-02-28  50

#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) );           }     } }  
转载请注明原文地址: https://www.6miu.com/read-78663.html

最新回复(0)