请问各位大佬,Gateway::sendToUid老是报getAllGatewayAddressesFromRegister错误是什么原因呢
register服务是用于gateway进程和business进程通信的,所以必不可少; 题示报错的话,确认下 register address【$gateway->registerAddress 以及 $business->registerAddress】是不是设置错了?
protected static $businessWorker = null; public static $registerAddress = '*****:1238';
$register = new Register('text://0.0.0.0:1238');这样配置没错吧
嗯,没错,这是register服务自身的设定,让你检查的是start_gateway.php和start_businessworker.php里的配置地址,它们必须完全相同。
@614:设置都没问题耶
不清楚你具体还有啥上下文环境,不过这种问题我感觉排并没有什么技术性难点,很简单,原理就那么回事,实在不行就把register的地址显式打印出来或扔日志里,看register地址到底对不对? 各个业务worker连的register地址也都对不对?对的话然后尝试telnet去连下看是不是OK的? 连不上的时候想想防火墙啥的等等吧......
@614:lanIp是Gateway所在服务器的内网IP,默认填写127.0.0.1即可。多服务器分布式部署的时候需要填写真实的内网ip,不能填写127.0.0.1。注意:lanIp只能填写真实ip,不能填写域名或者其它字符串,无论如何都不能写0.0.0.0 .
@614:Gateway: Worker->name conflict. Key:127.0.0.1:YourAppBusinessWorker:0 还有一个问题,一直重复发送这个是什么原因呢
Worker->name conflict。Worker->name 冲突。翻译下就懂了啊
@1393:那要怎么解决呢
$businessworker->name改成不一样的啊
@1393:$gateway->name = 'huanqiuwuGateway';$worker->name = 'huanqiuwu';改了没效果耶
@1393:proto user worker listen processes status tcp root huanqiuwu none 1 [OK] tcp root huanqiuwuAppGateway websocket://0.0.0.0:8282 1 [OK] tcp root Register websocket://0.0.0.0:1238 1 [OK]
register服务是用于gateway进程和business进程通信的,所以必不可少;
题示报错的话,确认下 register address【$gateway->registerAddress 以及 $business->registerAddress】是不是设置错了?
protected static $businessWorker = null;
public static $registerAddress = '*****:1238';
$register = new Register('text://0.0.0.0:1238');这样配置没错吧
protected static $businessWorker = null;
public static $registerAddress = '*****:1238';
$register = new Register('text://0.0.0.0:1238');这样配置没错吧
嗯,没错,这是register服务自身的设定,让你检查的是start_gateway.php和start_businessworker.php里的配置地址,它们必须完全相同。
@614:设置都没问题耶
不清楚你具体还有啥上下文环境,不过这种问题我感觉排并没有什么技术性难点,很简单,原理就那么回事,实在不行就把register的地址显式打印出来或扔日志里,看register地址到底对不对? 各个业务worker连的register地址也都对不对?对的话然后尝试telnet去连下看是不是OK的? 连不上的时候想想防火墙啥的等等吧......
@614:lanIp是Gateway所在服务器的内网IP,默认填写127.0.0.1即可。多服务器分布式部署的时候需要填写真实的内网ip,不能填写127.0.0.1。注意:lanIp只能填写真实ip,不能填写域名或者其它字符串,无论如何都不能写0.0.0.0 .
@614:Gateway: Worker->name conflict. Key:127.0.0.1:YourAppBusinessWorker:0 还有一个问题,一直重复发送这个是什么原因呢
Worker->name conflict。Worker->name 冲突。翻译下就懂了啊
@1393:那要怎么解决呢
$businessworker->name改成不一样的啊
@1393:$gateway->name = 'huanqiuwuGateway';$worker->name = 'huanqiuwu';改了没效果耶
@1393:proto user worker listen processes status
tcp root huanqiuwu none 1 [OK]
tcp root huanqiuwuAppGateway websocket://0.0.0.0:8282 1 [OK]
tcp root Register websocket://0.0.0.0:1238 1 [OK]