gatewayclient 和 workerman 不在同一服务器 通过gatewayclient 向指定客户端发送数据 无法发送

yuhanyo

[2] ErrorException in Gateway.php line 1187
stream_socket_client(): unable to connect to tcp://172.18.13.186:2900 (������ӷ���һ��ʱ���û���ȷ�

3202 4 0
4个回答

keytehu

两台服务器不在一个局域网连不上很正常

  • yuhanyo 2019-11-28

    http://doc2.workerman.net/push-in-other-project.html
    我是按照这个文档的 第三个方法来的 新建一个text端口用于推送数据 我这个客户端和服务端在不同服务器 客户端该怎么发数据? 求指教

  • keytehu 2019-11-29

    我都没看到你的代码,我怎么知道你哪里错了

  • yuhanyo 2019-11-29

    @1469:不好意思。。。 我在下面贴上了我的代码 麻烦帮忙看看 。。。 -==-

yuhanyo

start_gateway.php 中的lanIp是我阿里服务器的内网ip 客户端在我本地电脑的tp框架中连接服务端报错 根据文档的方法一和方法三都操作报以上相同错误
linux服务端配置:




Tp5客户端:

  • 暂无评论
blogdaren

有好几处问题需要注意:
1、客户端和gatewayworker服务端在同一个内网吗? 若不在,$gateway->lanIp要设置成gateway服务器的公网IP;
2、所有的相关端口防火墙该放行都得放行;
3、既然是分布式通讯,registerAddress 肯定不能有 127.0.0.1 类似这样的设置;

  • 暂无评论
yuhanyo

@blogdaren 安照您的方法我将 lanIP设置为了我的阿里云服务器公网IP $gateway->lanIp = '120.78.85.40';
start_businessworker.php
start_gateway.php
start_text_gateway.php
start_text_gateway.php
这四个文件中的registerAddress 我也设置为了公网ip '120.78.85.40:1238'
但是这样设置后服务无法启动报错如下:

  • blogdaren 2019-11-29

    ip address 确认下 120.78.85. 40 是不是当前gate所在的服务器IP?

  • yuhanyo 2019-11-29

    原来阿里云服务器的 公网ip不是真的公网ip 那个私往ip才是真正的服务器ip 阿里做了代理 因为这个问题所以报错 多谢 解决了

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