架构是gatewayworker + webman,bussiness进程放在webman里。逻辑是连接websocket的时候带上token,在onconnect事件根据token读取用户id,然后保存到session里,onmessage读取session里的用户id判断用户身份。本地websocket测试的时候 发送的第一个消息能获取到session,第二个和第三个获取不到,加上usleep后就可以了,或者连...
问题描述 wokerman中能否独立调用类似php artisan queue work的命令? 因为我有个laravel程序,本身要通过laravel的队列放进去,取出来的时候再通过mqtt发送出去?...
问题描述 webman 控制器返回远程服务器的文件流,参考了帖子 https://www.workerman.net/q/13212 程序代码或配置 public function streamFile() { $http = new \Workerman\Http\Client(); $url ='https://xxxx.cn/uploads/default/2024-10...
问题描述 cookie设置失败,再问答中搜索已解决的看到需要 $response = response(); $response->cookie('name', $stringvalue); return $response; 但是 我这边接口登录成功后 不要 return $response; 要将登录信息返回出去 需要: //设置必要cookie $response = response(); $respo...
问题描述 我发现 http-client 是有最大并发数的 比如修改配置参数 中的max_conn_per_addr 就能调整最大并发参数了 $options = [ 'max_conn_per_addr' => 1000, // 每个域名最多维持多少并发连接 'keepalive_timeout' => 30, // 连接多长时间不通讯就关闭 'connect_timeout' =>...
问题描述 这里详细描述问题 window下,更新代码,没反应, 日志打印的还是原来的值 程序代码 报错信息 在index控制下,新添加个方法,打印浏览器报错 404 Not Found 操作系统及workerman/webman等框架组件具体版本 这里写具体的系统环境相关信息 window...
问题描述 1、之前使用thinkphp,打开数据库调试模式database.debug=true,可以自动在log文件中记录执行的sql语句。webman默认使用的illuminate/database有没有类似的配置方式,而不用特地在数据库操作前后添加记录日志的代码 2、config/app.php文件中的debug=>true已经打开了,但是请求的信息没有记录下来,此处的调试模式功能具体体现在哪里?日志中没...
问题描述 webman 框架 event_loop 使用了swoole 无法平滑重启或者平滑关闭 程序代码或配置 php start.php stop -g Workerman[start.php] stop Workerman[start.php] is gracefully stopping ... config/server: 'event_loop' => \Workerman\Events\Swoo...
问题描述 1、$request->post('name',''); 有安全过滤吗(类似于thinkphp 的 requst类 public function get($name = '', $default = null, $filter = '')) 如果没有 能不能自己重写一个类继承 request类,然后增加过滤...
问题描述 使用gateway-worker 作为websocket。 当worker进程里面往GPT(使用的是webman/openai扩展),让GPT按SSE返回数据,在接收GPT返回数据过程当中,用户通过websocket发送数据过来,网关端可以检测到数据已接收,但是无法给到worker进程。直到worker进程接收完GPT返回的数据之后,此时,worker进程才接收到用户发送过来的数据 代码 $body = [...
问题描述 我每次使用reload的时候,时不时会出现websocket出现端口链接不上的情况,can not connect to tcp://127.0.0.1:2301 Connection refused,我的配置文件如下 程序代码 return [ 'gateway' => [ 'handler' => Gateway::class, 'listen...
问题描述 线上有个分词服务,我修改了CutWordsServerEvent 的onMessage方法后,先清理opcache,然后执行reload操作,代码不生效,请教一下各位大佬,怎么解决 程序代码或配置 class CutWordsServerCommand extends Command { protected $signature = 'cut-word-server {action} {--daemon}...
问题描述 这里写问题描述 redis-queue队列的消费代码更新了,总有一些进程走的是旧逻辑,新代码的逻辑不生效。 我试过php start.php restart -d ,也试过ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9 都没有用。 最后只能改了队列的名称,换了个队列名才执行了新的逻辑,请问有人知道是什么要怎么才能让代码生效吗。 不然每次修改消费...
问题描述 已解决,谢谢 这里详细描述问题 我这个问题已经安装下面修改了,但还是报错,没有生效,请问要怎么办, https://www.workerman.net/q/12578 我的代码仓库是https://gitee.com/owenzhang24/webman-owen php8.1版本 报错信息 { "code": 500, "msg": "Undefined array key \"plugi...
问题描述 $mqtt = new mqtt('mqtt://test.mosquitto.org:1883') $this->startWorker1(); // 开启1号workerman, 主要处理http类 $this->startWorker2(); // 开启2号workerman, 主要处理物联网类(tcp,mqtt) Worker::runAll(); // 统一启动所有的worke...
就不贴我的代码了,这里直接新安装webman测试。 // 安装webman框架 composer create-project workerman/webman // 进入目录 cd webman // 安装依赖注入 PHP-DI composer require psr/container ^1.1.1 php-di/php-di ^6.3 doctrine/annotations ^1.14 config/app...
因为某些原因,每次改了代码,希望用restart,而不是用reload,所以使用了阿里云的alb作为负载均衡,alb支持优雅中断功能,就是后端服务出现异常,暂时不会中断与客户端的连接,但是刚才试了下,restart后,客户端立马中断了连接,是不是restart会主动关闭所有已连接的客户端...