A服务器GatewayClient调用调用B服务器worker失败的,没有数据

happyday

1、根据文档如下

/**
 *====这个步骤是必须的====
 *这里填写Register服务的ip(通常是运行GatewayWorker的服务器ip,非0.0.0.0)和Register端口
 *注意Register服务端口在start_register.php中可以找到
 *这里假设GatewayClient和Register服务都在一台服务器上,ip填写127.0.0.1
 **/
Gateway::$registerAddress = '127.0.0.1:1236';

这里的registerAddress 我改成Gateway::$registerAddress = 'B服务器IP:1236';
同时将B服务器的gateway.php的lnip改成B内网IP,发现GatewayClient获取不到数据

2、接着我将步骤一中B服务器的gateway.php的lnip改成B公网IP,启动gatewayworker失败,不停显示Warning: stream_socket_server(): unable to connect to tcp://**B公网IP**:1236 (Cannot assign requested address)

3、我怀疑是gateway->startPort的端口被墙了,我又去阿里云把那几个端口打开,步骤一步骤二还是原来的效果。。。。。。

4、本地虚拟机同台机器可以。

3552 3 0
3个回答

happyday

补充:lnIP写公网IP就会无限报通讯端口无法连接

  • 淹死的鱼 2018-09-10

    我现在需要阿里云的经典网络跟专有网络分布式部署,这么你是怎么弄的?

happyday

补充:
我A服务器调用GatewayClient根据文档是这样的
Gateway::$registerAddress = B服务器公网IP:端口';

  • 暂无评论
walkor

1、GatewayClient要和gatewayWorker版本对应,否则无法通讯。
2、A B服务器都在内网的话 lanip写内网ip即可。

  • happyday 2018-05-18

    解决了,是阿里云专有网络问题

  • 淹死的鱼 2018-09-10

    专有网络不能分布式部署吗?

  • walkor 2018-09-10

    专有网络可以分布式,但是lanip不能设置成公网ip

年代过于久远,无法发表回答
🔝