Swoole中的会话期如何实现呢?

RT
通过Swoole/Server创建了一个SWOOLE_PROCESS模式运行的TCP服务器。
没有成功实验到会话期。
尝试在onConnect时候创建的对象在onReceive无法访问。
测试代码

#https://wiki.swoole.com/wiki/page/354.html
<?php
$server = new Swoole\Server('0.0.0.0', 6789, SWOOLE_PROCESS, SWOOLE_SOCK_TCP);
$server->on('Connect',function($serv, $fd, $reactorId){
    //global $a;
    $a  = '123';
});
$server->on('Receive',function($serv, $fd, $reactorId, $data){
    // global $a;
    var_dump($a);
});
$server->start();

当不加global时 在数据接收无法访问到$a
当加了的时候 会变成进程全局期
如何实现会话期呢
望不吝赐教!谢谢!

阅读 367
评论
    1 个回答

    无意间上来看到这个问题,自回答一下

    其实这是个无意义问题,由于官网文档描述不详导致,swoole不存在会话期的内部实现,需要从业务代码自己实现对单个fd的数据绑定,来做到"会话期".
    swoole本身只有进程全局 和Receive局部期2种状态可以直接用变量存数据 其他需要自己在代码实现 将数据存在任意db中来保会话期活
      撰写回答

      登录后参与交流、获取后续更新提醒