webman Gateway 阿里云负载均衡 client id都是一致的情况下 后端机器一台能发消息 一台不能
用的是 gateway-worker插件 https://www.workerman.net/plugin/5
在onWebSocketConnect
Gateway::bindUid($client_id,$User['id']);
在检查是否在线的时候
if(!Gateway::isUidOnline($GetToken['uid'])){
return JsonOutput(
Status::ERROR,
'手机不在线推送失败',
null
);
}
建议绑定bindUid的时候,数据类型 强制转换为 string。
你的问题引起的原因,就是
uid
数据类型不一致导致的。按照您的方法设置了 一台能发送消息 一台不能
目标用户量,大概多少连接数?
https://www.workerman.net/doc/gateway-worker/how-distributed.html
分布式部署时,手册看了吗;需要特别注意:监听地址 和 监听端口、局域网IP
或者简单点,直接安装我这个composer 包,两台不同的机器可以分别通过 各自的
.env
设置进程参数。composer require ledc/gateway-worker
启动
常驻内存 可以 添加
-d
停止
Env环境变量
你好 我解决了 谢谢
GatewayWorker通过Register服务来建立划分集群。同一集群使用相同的一组Register服务。
你两台负载均衡的机器,都启动 Register服务 没必要吧?
分布式部署的关键步骤