请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

swoole进程间如何通信

[复制链接]
查看: 86|回复: 0

1万

主题

2万

帖子

4万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
47996
发表于 2019-12-3 07:05 | 显示全部楼层 |阅读模式
swoole进程间如何通信  游戏 1859876-20191202223006482-328320989



Swoole过程间通讯的方式
管道pipe
管道用于过程之间的数据交互,Linux系统自己供给了pipe函数用于建立一个半双工通讯管道。半双工的通讯方式中数据只能单向活动(一端只读一端只写),只能在具有亲缘关系(父子过程)的过程之间利用。
管道是过程间通讯IPC中最根柢的方式,管道有两种典范别离是命名管道、匿名管道。
匿名管道:专门用于具有血缘关系的过程之间,完成数据转达。命名管道:可以用在任何两个过程之间,Swoole中的管道都是匿名管道。
在Swoole中利用eventfd和UnixSock封装了两种管道,使得过程之间的通讯加倍灵活。
Swoole的Process模块内置了管道的方式用于过程间通讯,在构建Process实例时只要开启了$pipe_type选项,Swoole底层会自动建立一个管道,这里需要说明的时,固然名字上叫做管道,但现实上在新版Swoole中底层通讯是经过UnixSock实现的,所以并不是真正意义上的Linux Pipe。
建立过程
swoole进程间如何通信  游戏 1859876-20191202223130330-2023514100



管道典范$pipe_type可分为三种:
0表现不建立管道
1表现建立SOCK_STREAM典范的管道
2表现建立SOCK_DGRAM典范的管道
当启用$redirect_stdin_stdout后,$pipe_type选项将疏忽用户参数,强逼为1。
管道描摹符
当过程被fork出来后,父过程和子过程中的Process工具会被设备上一个名为pipe的成员变量,寄存着底层UnixSocket的描摹符,父过程和子过程可以经过这个管道描摹符来发送数据,也可以间接挪用Process供给的read/write接口来收发数据。
swoole进程间如何通信  游戏 1859876-20191202223200237-1417225191



管道读写
swoole_process->write(string $data) 向过程的管道中写入数据
swoole_process->read(int $buffer_size = 8192) 从过程的管道中读取数据
以上就是swoole过程间怎样通讯的具体内容,更多请关注我吧
有需要进修交换的朋友请加入Swoole交换群的我们一路,有题目一路交换,一路进步!条件是你是学技术的。感激阅读!
点此加入该群jq.qq.com


免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 妈妈网-中国妈妈第一,是怀孕、育儿、健康等知识交流传播首选平台 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表