ForeWord


本文介绍了域间套接字socketpair的概念,并用其实现了进程间的双向通信。

socketpair创建双向pipe

tips:全文阅读需3min


socketpair


我们知道,进程通信中,pipe用来创建管道,但是单个管道只能单向通信,一端用于读,而另一端用于写。

如果要实现进程双向通信,必须创建一对管道。

socketpair则可以用来创建双向通信的管道,实现进程间双向通信。


Code


下面是该函数的函数体:

socketpair创建双向pipe

其中,sv[0]和sv[1]用于返回新套接字的描述符:

socketpair创建双向pipe

接下来通过代码看一下它是如何实现进程双向通信的:

Step1:调用函数创建socketpair

socketpair创建双向pipe

Step2: fork子进程,并利用read\write实现相应功能

socketpair创建双向pipe
socketpair创建双向pipe

Step3:不要忘记头文件

socketpair创建双向pipe

运行程序,实现了进程双向通信:

socketpair创建双向pipe

相关文章:

  • 2021-05-17
  • 2022-12-23
  • 2022-12-23
  • 2021-10-26
  • 2022-12-23
  • 2021-04-29
  • 2021-10-17
猜你喜欢
  • 2021-07-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案