workerman中有多条进程,多个用户进来,$worker里的connection连接数不在同一个上

$worker = new Worker('websocket://0.0.0.0:9393', $context);
$worker->transport = 'ssl';
// 启动4个进程对外提供服务
$worker->count = 24;
比如有三个用户进来,worker->connection的个数只有两个?其他的到其他进程去了?
已邀请:

henry - 小程序

赞同来自:

接着我想把id和connection组成的数据放到缓存里,一旦connection放在数据中,这个数组就没数据,这是什么原因呢?
 
如: 
$info = [
    'id':1,
    'connection':$connection
]

walkor

赞同来自:

这个数组在每个进程都有一个,每个进程的变量是独立的,不能共享。
设置成但进程就好了

walkor

赞同来自:

外部存储无法存储内存里的资源变量,就像你无法在redis里存储mysql连接对象一样

henry - 小程序

赞同来自:

追加另一个问题:我在用gateway的时候,gateway和businessworker都启动了4条进程,然后我在Event.php中处理OnWorkerStart函数:
echo "进去定时器了哦\n";
Timer::add(10, function(){
echo "timer\n";
Gateway::sendToGroup(321, '发送定时信息1');
});
进去定时器了哦  这句话会执行4次,定时器里面也每10秒发送4次相同的数据,我该怎样做,才能实现发送一次呢

要回复问题请先登录注册