当前位置: 首页 > 后端技术 > PHP

ThinkPHP6和GatewayWorker的简单例子

时间:2023-03-29 20:40:01 PHP

1。下载GatewayWorkerwww.workerman.net/doc/gateway...如图安装,下载解压,然后打开端口:8282、1238、2900、2901、2902、2903开始调试(debug)即可startphpstart.phpstarttodaemon(守护进程)启动phpstart.phpstart-d停止phpstart.phpstop重启phpstart.phprestartsmoothrestartphpstart.phpreload查看statusphpstart.phpstatusdebug和区别indaemonmode1.以debug模式启动,代码中的echo、var_dump、print等打印函数会直接在终端输出。2、以daemon方式启动,代码中的echo、var_dump、print等打印默认会重定向到/dev/null文件,可以通过设置Worker::$stdoutFile='/your/path来设置文件路径/文件';.3.以debug模式启动,workerman会在terminal关闭后关闭退出。4、以daemon模式启动,workerman在终端关闭后继续在后台正常运行。业务开发只需要关注Applications/project/Events.php文件即可。2、默认已经安装了ThinkPHP6。安装扩展composerrequireworkerman/gatewayclient复制代码创建控制器命名空间app\api\controller;useGatewayClient\Gateway;usethink\Request;usethink\facade\db;USEthink\facade\Cookie;classSwooleextendsBase{publicfunctioninitialize(){header('Access-Control-Allow-Origin:*');标题(“访问控制允许标题:令牌,随机,来源,X-Requested-With,内容类型,接受”);标头('访问控制允许方法:POST,GET');if(request()->isOptions()){exit();}Gateway::$registerAddress="192.168.3.116:1238";}publicfunctionindex(Request$request){$post=$request->post();$user=Db::name('user')->field('id,name')->where('status',0)->find();if(!$user){$data=['style'=>'yue',//you'data'=>'人数满了,你连个屁','name'=>'robot'];返回json($数据);}Db::name('user')->where('id',$user['id'])->update(['client_id'=>$post['Client_id'],'status'=>1]);$data=['style'=>'me',//你'data'=>'链接成功','name'=>$user['name']];返回json($data);}publicfunctionsend(Request$request){$post=$request->post();$name=Db::name('user')->field('name')->where('client_id',$post['client_id'])->find();$cid=Db::name('user')->where('status',1)->where('client_id','<>',$post['client_id'])->select();$data=json_encode(['style'=>'yue',//你'data'=>$post['msg'],'name'=>$name['name']]);$c_id=[];foreach($cidas$v){$c_id[]=$v['client_id'];}网关::sendToAll($data,$c_id);返回json($data);}publicfunctionclose(Request$request){$post=$request->param();Db::name('user')->where('client_id',$post['Client_id'])->update(['client_id'=>'','status'=>0]);}}复制代码后台代码就完成了前端代码js复制代码页,基本功能自己写,其余根据自己的需要改。最后,如果您觉得本文对您有帮助,点赞或者可以加入我的开发交流群:1025263163互相学习,我们会有专业的技术问答如果您认为本文对您有用,请给我们的开源项目一个小星星:http://github.crmeb.net/u/defu点个赞!PHP学习手册:https://doc.crmeb.com技术交流论坛:https://q.crmeb.com