背景【单台服务器,启动 gatewayworker 后 workerman.log 无报错信息】
部署【服务端:gatewayworker在linux根目录 -> onMessage() 方法下Gateway::bindUid($client_id, $uid) 将client_id和设备id绑定 && 调用端:tp5.1(/www/wwwroot/m.xxx.com/machine 用了GatewayClient)】
问题【tp5.1GatewayClient向gatewayworker发送Gateway::sendToUid($uid, $data);报错信息如下】
getAllGatewayAddressesFromRegister fail. tcp://127.0.0.1:54990 return '你好呀 7f0000010b5700000005'
使用bindUid 与 sendToUid目前报错, 使用 sendToClient 不报错
大哥帮忙解答一下是什么原因造成的
Gateway::$registerAddress 的端口写错了,写start_register.php 里的端口,也就是Register服务的端口。
也报错了Gateway::getAllGatewayAddressesFromRegister() with registerAddress:"127.0.0.1:12388" return array (
)
我贴一下代码吧
gatewayworker ↓↓↓↓
gatewayclient ↓↓↓↓
Gateway::$registerAddress = '127.0.0.1:12388';
Gateway::sendToUid($uid, $res);
log ↓↓↓↓
gatewayworker ↓↓↓↓
gatewayclient ↓↓↓↓
Gateway::$registerAddress = '127.0.0.1:12388';
Gateway::sendToUid($uid, $res);
log ↓↓↓↓
运行 php start.php status 然后截图,截图截全。
https://wenda.workerman.net/uploads/20200903/035f50b69e1226.png
截图start_gateway.php 和 start_businessworker.php
start_gateway.php ↓↓↓↓
http://wenda.workerman.net/uploads/20200903/035f50b7c6e22d.png
start_businessworker.php ↓↓↓↓
http://wenda.workerman.net/uploads/20200903/035f50b7cc3550.png
start_gateway.php ↓↓↓↓
start_businessworker.php ↓↓↓↓
把registerAddress的端口都改成正确的值
目前可以了 但是又发现一个问题 指令发送偶尔会报个错 Gateway::getAllGatewayAddressesFromRegister() with registerAddress:"127.0.0.1:1238" return array (
) 这个错 只要不报这个错 指令就发送正常