前期,写过一个帖子,为了解决微信支付成功之后,异步回调问题,使用了workerman的web-sender,其中需要引入大量文件开启三个端口,现阶段改进一下,原理利用swoole的websocket继承了Swoole\Http\Server,可以使用后者的onrequest接收其他页面后端页面的主动推送,原理大概如下,首先是start.php,主要作用是开启守护进程,并且执行调用thinkphp5的test.php中的方法
include_once('/www/wwwroot/tp5/extend/sw/Test.php');
$serv = new sw\Test("0.0.0.0", 9501);
$serv->set(array(
'daemonize' => 0,
'worker_num' => 2,
'task_worker_num' => 2
));
$redis= '';
$serv->on('WorkerStart', function ($serv, $worker_id) {
global $redis;
$redis = new \Redis();
$redis->connect("127.0.0.1", 6379) || die("redis 连接失败");
echo "redis 连接成功!\n";
});
$serv->on('Open', function