天天看點

php在docker内調用主控端workerman的gateway

在同一台機器内,api項目在docker環境内。workerman則直接在主控端上的場景中

1 workerman中start_gateway.php 配置如下修改

// gateway 程序 《《《《《  修改為0.0.0.0
$gateway = new Gateway("websocket://0.0.0.0:8282");
// gateway名稱,status友善檢視
$gateway->name = 'IM';
// gateway程序數
$gateway->count = 4;
// 本機ip,分布式部署時使用内網ip 《《《《《 修改此處為主控端器内網ip
$gateway->lanIp = '192.168.101.46';//getHostByName(getHostName());
// 内部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會使用4000 4001 4002 4003 4個端口作為内部通訊端口 
$gateway->startPort = 4000;
// 服務注冊位址
$gateway->registerAddress = '127.0.0.1:1238';

// 心跳間隔
$gateway->pingInterval = 10;
// 心跳資料
$gateway->pingData = '{"type":"ping"}';
           

2 api 項目内

Gateway::$registerAddress = 192.168.101.46:1238 // 主控端器内網ip