ThinkPHP6 和 GatewayWorker 简单的示例
1.下载 GatewayWorker www.workerman.net/doc/gateway…
安装如图下载解压就行
以次开启端口: 8282,1238,2900,2901,2902,2903
启动以 debug(调试)方式启动
php start.php start
以 daemon(守护进程)方式启动
php start.php start -d
停止 php start.php stop
重启 php start.php restart
平滑重启 php start.php reload
查看状态 php start.php status
debug 和 daemon 方式区别 1、以 debug 方式启动,代码中 echo、var_dump、print 等打印函数会直接输出在终端。
2、以 daemon 方式启动,代码中 echo、var_dump、print 等打印会默认重定向到/dev/null 文件,可以通过设置 Worker::$stdoutFile = '/your/path/file';来设置这个文件路径。
3、以 debug 方式启动,终端关闭后 workerman 会随之关闭并退出。
4、以 daemon 方式启动,终端关闭后 workerman 继续后台正常运行。
业务开发只需要关注 Applications/项目/Events.php 一个文件即可。
2.默认 ThinkPHP6 已经安装好了 安装扩展
composer require workerman/gatewayclient 复制代码创建一个控制器
namespace app\api\controller;
use GatewayClient\Gateway;use think\Request;use think\facade\db;USE think\facade\Cookie;
class Swoole extends Base{public function initialize(){header('Access-Control-Allow-Origin: *');header("Access-Control-Allow-Headers: token,random,Origin, X-Requested-With, Content-Type, Accept");header('Access-Control-Allow-Methods: POST,GET');if(request()->isOptions()){exit();}Gateway::$registerAddress = "192.168.3.116:1238";}
}复制代码后台代码就完成了
前端代码 js
<script src="js/vue.js"></script><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>// 创建一个 webSocket 对象 const ws = new WebSocket("ws:192.168.3.116:8502");const token = {name:''};// 创建 VUE 对象 const app = new Vue({el:"#app",data () {return {information:[],content:"",name:'',Client_id:0,};},created:function(){let that = this;ws.onmessage = e => {//console.log((new Date()).getTime());const receiveing = JSON.parse(e.data);if (receiveing.type=="start"){this.Client_id = receiveing.client_id;$.ajax({type: "post",url: "//192.168.3.122:83/api/Swoole/index",data: {Client_id:receiveing.client_id,},dataType: "json",success: function (data) {//console.log(3);that.information.push(data);that.name = data.name;}});}else {console.log(2);this.information.push(receiveing);console.log(this.information);}
</script>复制代码页面就自己写 基本功能出来了,剩下的根据自己的需求来改
最后如果你觉得此文对你有一丁点帮助,点个赞。或者可以加入我的开发交流群:1025263163 相互学习,我们会有专业的技术答疑解惑
如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点 star:http://github.crmeb.net/u/defu不胜感激 !
PHP 学习手册:https://doc.crmeb.com技术交流论坛:https://q.crmeb.com
评论