workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
我这边发现一个问题,配置里gateway-worker端口1236设置为了12360,并
不
会完全
生
效
#### 问题描述 我这边发现一个问题,我把配置里gateway-worker端口1236设置为了12360,启动这些都正常,但是在我使用gateway发送消息时,仍然调用的是1236这个端口,导致
不
断报错是否是长链接 * @var bool */ public static $persistentConnection = true; ``` #### 重现问题的步骤 情况发
生
在我调用了
事
实上我早就在配置里把端口改为了12360 #### 操作系统环境及workerman/webman等具体版本 使用的webman官方最新版本,在webman里安装的gateway-worker
问答
使用shopwwi/webman-auth 多表认证获取
不
到指定表的用户信息
[截图](/upload/img/20220613/1362a709567eac.png) ## 定义了两个类,这个获取
不
到用户信息  ## 在指定creator守卫时,redis中存储的键有问题,在第一次登录时
生
成了user_3,用这个token获取用户信息提示令牌无
效
,再次登录
生
成才
生
成creator_3
生
效
,如下图所示 !
问答
workerman mqtt 组件 用composer下载
不
了
我下载 mysql 组件都可以,mqtt 组件就
不
行了。 是怎么
回
事
呀
问答
workerman返
回
数据
不
对
workerman有时连上返
回
的数据
不
对,好像是之前改过的版本 !
问答
我在onconnect的时候订阅个
事
件 但是总有connection会收
不
到
aaaaaa', function($multi_data)use($connection){ $connection->send('订阅的aaa
事
件'); }); $connection->send(‘111111111处订阅的
事
件’); }); }; ``` 在onstart中 给每个connection订阅$key
事
件 $key中是唯一的 在以后中在222222处订阅群发aaaaa
事
件 但是每次只有最后一个连接可以接受到aaaaaa
事
件 为什么
问答
gateway使用负载均衡后出现返
回
403问题
gateway使用负载均衡后,前台发起长连接时第一次正常,但是刷新页面重新连接时就会出现返
回
403现象,连接
效
果时好时坏,把负载均衡指向一个节点访问时就
不
会出现这种问题。配置: 一共两个节点,有一台启动了register服
务
,另一台没有启动register,每个节点都配置了内网ip 现在是负载如果单独指向有register服
务
的那个访问是没有问题的,如果分发就会出现刷新
问答
webman基础插件
不
支持注册路由吗?
[截图](/upload/img/20240422/2266260bcd2f54.png) ### 似乎这样注册并
不
生
效
呀?我打印了,运行也没出现任何打印的提示> 似乎这样注册并
不
生
效
呀?
问答
[已解決]webman多进程导致mysql死锁
使用的是 "illuminate/database": "^9.3" 最近业
务
上线,发现经常产
生
死锁。隔三差五的就会导致mysql死锁,通过KILL把死锁的KILL了也没用,后续继续执行
事
务
也会导致死锁。 解决方式是只能php start.php reload 然後就正常了。1 當
事
務1 進行
回
滾,
事
務2和
事
務3 此時能獲取S鎖,檢查重複值之後執行插入申請X鎖,但由於
事
務2和3都已經獲取了S鎖,所以導致X鎖獲取失敗兩個
事
務進入死鎖狀態。## 解決方式 增加多一個接口,專門處理價格檢測,
不
通過
事
務
回
滾來進行。 ## 彎路 我也是第一次遇見這個問題,最終還是通過百度和對mysql的error log還原了整個
事
件。自己的
不
足在於太過先入為主,總覺得是update導致的死鎖,哪知道是特定環境下insert導致的死鎖。
问答
workerman的异步http-client怎么在onMessage
回
调中
不
生
效
,浏览器无限刷新
代码如下: ```php <?php use Workerman\Worker; use Workerman\Connection\TcpConnection; use Workerman\Protocols\Http\Request; require_once __DIR__ . '/vendor/autoload.php'; $worker = new Worker('http://0.0.0.0:9898'); $worker->onWorkerStart = function() { global $http_client; $http_client = new Workerman\Http\Client(); }; $worker->onMessage = function(TcpConnection $connection, Request $request) { global $http_client; $http_client->get('https://www.baidu.com', function (\Psr\Http\Message\ResponseInterface $response) use($connection){ $message = $response->getBody()->__toString(); $connection->send($message); }, function ($exception) { echo $exception; }); }; // 运行worker Worker::runAll(); ```
问答
怎么set sql_mode?
options` ```php 'options' => [ \PDO::ATTR_TIMEOUT => 3, //
不
生
效
\PDO::MYSQL_ATTR_INIT_COMMAND => "SET sql_mode=''", ] ``` 发现并
不
生
效
, 又尝试修改`support/bootstrap.php`,添加: ```php Db::statement("SET sql_mode=''"); ``` 刚启动是
生
效
的,可是过了一会儿又失
效
了, 请问一下要在哪里配置
问答
求助:一个tcp服
务
器,一个http服
务
器,
不
能一起启动,首先启动的会阻塞后面启动的服
务
器的消息处理,咋
回
事
?
首先启动的会阻塞后面启动的,看状态第二个服
务
器是启动了,但处理
不
了消息 libevent 也安装了,php 安装的是 event 扩展 Workerman 启动: 2019-12-20 18:08:23:674114 : 在 0.0.0.0:11001 上创建 Channel 服
务
器。服
务
器 http://0.0.0.0:11000 1 [OK] tcp song 设备服
务
器 tcpStart success. 2019-12-20 18:08:23:940987 : 在 0.0.0.0:11000 上创建 业
务
Web服
务
器 。^CWorkerman[server.php] stopping ... 2019-12-20 18:08:25:707329 : 0.0.0.0:11000 上的 业
务
Web服
务
器 停止。
问答
onWebSocketConnect 无
效
3.0.9 本版 实测 onWebSocketConnect 无
效
 打印有数据!20230425/2564476cc9ef65.png) Events.php onWebSocketConnect 无法获取 onConnect 与 onWebSocketConnect
不
能同时使用
问答
workman AsyncTcpConnection 获取返
回
message 返
回
出现问题
#### 问题描述 用workman 的AsyncTcpConnection 异步访问外部wss端口,获取的message 返
回
出现问题 #### 为此你搜索到了哪些方案及
不
适用的原因 远程socketrunAll() ``` #### 下面是代码 ```php $ws_worker = new Worker("websocket://0.0.0.0:2346"); // 启动4个进程对外提供服
务
$ws_worker->count = 6; // 当收到客户端发来的数据后返
回
hello $data给客户端 $ws_worker->onMessage = function(TcpConnection) { $context_option = array( 'socket' => array( // ip必须是本机网卡ip,并且能访问对方主机,否则无
效
问答
GatewayWorker中onWorkerStart中的业
务
逻辑执行问题
# 目前出现的问题: ```php public static function onWorkerStart($businessWorker) { // Channel客户端连接到Channel服
务
端Channel\Client::connect('172.14.0.111', 8989); // // 订阅broadcast
事
件,并注册
事
件
回
调 Channel\Client::on('sendMessageevent_data['rece_uid'], json_encode($sendData)); }); } ``` 在 **Event.php** 的 **onWorkerStart** 中订阅了管道
事
件,我收到了管道通知后就需要执行我的业
务
逻辑。# 我的想法 四个进程id($businessWorker->id),分别是0、1、2、3,我想随机获取一个进程id让其执行,
不
随机的话如果只使用一个进程应该是会出现阻塞的。
问答
为什么关闭closeClient后
不
触发websocket的onclose
事
件啊
而是触发了 onmessage
事
件
问答
关于 Event
事
件循环的一个问题请教
stream_socket_accept'); }, 'stream_socket_server'); Master::$globalEvent->loop(); ``` 在第一次stream_socket_server之后,把服
务
端socket添加进
事
件循环之后,在这个
事
件循环的闭包里,再次stream_socket_accept这个方法的调用,把新的连接再次丢入
事
件循环,这个时候,第二个闭包放的代码
不
会执行
问答
用gatewayClient,给小程序
回
复信息,延迟太长
gatewaywoker用来建立设备连接和ws连接,gatewayworker通过curl将数据发送给TP5处理,小程序与getawayworker建立连接后,TP5通过getawayClient将状态信息返
回
给小程序,中间接收返
回
的时间太长怎么
回
事
呢?有时候需要20多秒才会收到gateway返
回
的信息。
问答
websocket连
不
上gatewayworker
各位大神,websocket连
不
上gatewayworker怎么
回
事
?gatewayworker能启动。协议的问题也看过了,但是就是连
不
上。
问答
配置模板引擎后webman框架中起
效
,但是在webman-admin中
不
起
效
#### 问题描述 composer 安装 think-template 配置完成后,在 webman 的控制器中使用正常,但是到 webman-admin 中无
效
,请问 webman-admin'view_suffix' => 'html', 'tpl_begin' => '{', 'tpl_end' => '}' ] ]; ```
不
好意思
问答
关于PING/PONG的问题
服
务
端有PONG帧返
回
3. 服
务
端超时时间55秒 4. 抓包看 30秒内有PING/PONG,但是服
务
端的连接还是断掉了,感觉没
生
效
。因为是PING/PONG帧,无数据,所有服
务
端也没
回
调onMessage Tips:除了通过数据报的形式发送心跳,框架默认该怎么解决这个问题;目前心跳检测
不
能正确处理PING/PONG帧用于连接保持  #### 服
务
端代码 
« 上一页
1
...
11
12
13
14
15
16
17
18
...
483
下一页 »
« 上一页
14
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝