Can not connect to tcp://127.0.0.1:1236 Connection refused

laogouWorker

//服务是启动成功的

截图

//网页的websocket也能正常从服务端返回消息

截图

// 就自己业务代码调用gatewayworker方法就报这个错,环境是laradock

截图

// 这里是我自己写的代码

截图

13114 6 0
6个回答

phpcreeper

先确定下这两个问题:
validate()方法里的Gateway是不是用的是GatewayClient? 另外如果是的话,GatewayClient所在的机器和1236端口所在机器是不是同台机器?

  • laogouWorker 2021-01-26

    都是同一个机器的,use GatewayClient\Gateway;

  • phpcreeper 2021-01-26

    这个理论上说不过去,你再好好netstat确认下1236端口是否监听成功了? 然后telnet 或者 用代码stream_socket_client() 直连下这个端口测试下看啥情况。

  • laogouWorker 2021-01-26

    @614:监听是成功的你看我下面回复的图片,用你说的那个函数还是连接不上

  • laogouWorker 2021-01-26

    @614:1238这个端口laradock哪里不需要映射的吧

  • phpcreeper 2021-01-26
    1. 不了解laradock,自己查下资料吧,应该是端口需要配置开放权限啥的吧;
    2. 另GatewayClient默认的registerAddress是127.0.0.0:1236, 看你监听的是1236,突然又蹦出个1238,不管怎么说连接的端口不是默认的监听端口时,记得显式设置:GatewayClient::$registerAddress = "目标IP:目标端口";
  • laogouWorker 2021-01-26

    @614:显式设置已经设置有了,我的环境就docker环境的

laogouWorker

截图
,都是同一个机器的

laogouWorker

截图

  • 暂无评论
码龍

楼主试试在调用之前这样设置一下

use GatewayWorker\Lib\Gateway

Gateway::registerAddress = "workspace:1236"
  • laogouWorker 2021-01-27

    昨晚已经搞定了,注册地址是你这个地址然后lan_ip是容器的内网地址这样才成功

lunzi

咋解决的,我也是用的laradock,同一个容器,都在workspace里面
截图

截图

截图

截图

  • 暂无评论
lunzi

截图

workspace里面我把1236这个端口也映射了

  • lunzi 2021-05-20

    找到问题了,把gateway里面的lanIp和registerIpAddress都改成容器里的ip就可以了

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