首页 > 作文

swoole进程间如何通信

更新时间:2023-04-07 23:18:53 阅读: 评论:0

swoole进程间通信的方式

管道pipe

管道用于进程之间的数据交互,linux系统本身提供了pipe函数用于创建一个半双工通信管道。半双工的通信方式中数据只能单向流动(一端只读一端只写),只能在具有亲缘关系(父子进程)的进程之间使用。

管道是进程间通信ipc中最基础的方式,管道有两种类型分别是命名管道、匿名管道。

匿名管道:专门用于具有血缘关系的进程之间,完成数据传递。命名管道:可以用在任何两个进程之间,swoole中的管道都是匿名管道。

在swoole中利用eventfd和unixsock封装了两种管道,使得进程之间的通信更加灵活。

swoole的process酒精灯的用途模块内置了管道的方式用于进程间通信,在构建process实例时只要开启了$pipe_type科学技术发展选项,swoole底和舜广告层会自动创建一个管道,这里需要说明的时,虽然名字上叫做管道,但实际上在新版swoole中底层通信是通过unixsock实现的,所以并不是真正意义上的linux pipe。

创建进程

管道类型$pipe_type可分为三种:

0表示不创建管道

1表示创建sock_stream类型的管道

2表示创建sock_dgram类型的管道

当启用$redirect_stdin_stdout后,$pipe_t名人事例ype选项将忽略用户参数,强制为1。

管道描述符

当进程被fork出来后,父进程和子进程中的process对象会被设置上一个名为pipe的成员变量,存放着底层unixsocket的描述符,父进程和子进程可以通过这个管道描述符来发送数据,也可以直接调用process提供的read/write接口来收发数据。

管道读写

swoole_process->write(string $data) 向进程的管道中写入数据

swoole_保健养生茶配方process->read(int $buffer_size = 8192) 从进程的管道中读取数据

以上就是swoole进程间如何通信的详细内容,更多请关注我吧

有需要学习交流的友人请加入swoole交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的。感谢阅读!

点此加入该群​jq.qq.com

本文发布于:2023-04-07 23:18:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/addcc662aa05cdea29a67a9d56119abd.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:swoole进程间如何通信.doc

本文 PDF 下载地址:swoole进程间如何通信.pdf

标签:管道   进程   通信   数据
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图