GatewayWorker部署在阿里云,想在其它主机用GatewayClient发送消息
一、如果Gateway启动文件中lanIp设置为127.0.0.1或0.0.0.0,客户端可以正常连接websocket,但GatewayClient会按照127.0.0.1或0.0.0.0的ip进行连接,肯定失败。
二、如果Gateway启动文件中lanIp设置为阿里云主机的外网ip,启动GatewayWorker服务的时候,会一直报错:
stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address)查看文档,应该是阿里云服务器的问题:
如果您是云服务器(阿里云/腾讯云等)用户,注意您的公网ip实际可能是个代理ip(例如阿里云的专有网络),公网ip并不属于当前的服务器,所以无法通过公网ip监听。虽然不能用公网ip监听,但是仍然可以通过0.0.0.0来绑定。
现在问题卡到这了,请大佬指点,有什么解决的办法?
这样设置的话,又跟设置为127.0.0.1或0.0.0.0一样的了
PHP Warning: stream_socket_client(): unable to connect to tcp://【lanIp:port】 (�����������У�������ĵ�ַ��Ч��
) in D:\wamp64\www\TheDataDev\app\Lib\GatewayClient\Gateway.php on line 744
我运行GatewayClient的地方跟GatewayWorker服务器不在一个局域网内
是设置内网ip,不是设置127.0.0.1
@614:感谢您的耐心回复,我明天准备按这个文档里http://doc2.workerman.net/push-in-other-project.html的【方法三】试一下,感觉应该能行
@5391: 不用谢。我认为方法三一样是行不通的,和你现在使用gatewayclient一样,条件不满足,换句话就是:
你好 你的这个问题解决了吗? 我也是阿里云 同样的问题