我這邊發(fā)現(xiàn)一個問題,我把配置里gateway-worker端口1236設置為了12360,啟動這些都正常,但是在我使用gateway發(fā)送消息時,仍然調用的是1236這個端口,導致不斷報錯。后來我去vendor/workerman/gateway-worker/src/Lib/Gateway.php下把端口也改為12360才恢復正常
<?php
use Webman\GatewayWorker\Gateway;
use Webman\GatewayWorker\BusinessWorker;
use Webman\GatewayWorker\Register;
return [
'gateway' => [
'handler' => Gateway::class,
'listen' => 'websocket://0.0.0.0:12720',
'count' => cpu_count(),
'reloadable' => false,
'constructor' => ['config' => [
'lanIp' => '127.0.0.1',
'startPort' => 13000,
'pingInterval' => 25,
'pingData' => '{"type":"ping"}',
'registerAddress' => '127.0.0.1:12360',
'onConnect' => function(){},
]]
],
'worker' => [
'handler' => BusinessWorker::class,
'count' => cpu_count()*2,
'constructor' => ['config' => [
'eventHandler' => plugin\webman\gateway\Events::class,
'name' => 'ChatBusinessWorker',
'registerAddress' => '127.0.0.1:12360',
]]
],
'register' => [
'handler' => Register::class,
'listen' => 'text://127.0.0.1:12360',
'count' => 1, // Must be 1
'constructor' => []
],
];
namespace GatewayWorker\Lib;
use Exception;
use GatewayWorker\Protocols\GatewayProtocol;
use Workerman\Connection\TcpConnection;
/**
* 數(shù)據(jù)發(fā)送相關
*/
class Gateway
{
/**
* gateway 實例
*
* @var object
*/
protected static $businessWorker = null;
/**
* 注冊中心地址
*
* @var string|array
*/
public static $registerAddress = '127.0.0.1:12360';
/**
* 秘鑰
* @var string
*/
public static $secretKey = '';
/**
* 鏈接超時時間
* @var int
*/
public static $connectTimeout = 3;
/**
* 與Gateway是否是長鏈接
* @var bool
*/
public static $persistentConnection = true;
情況發(fā)生在我調用了Gateway::ungroup($groupName);就會報錯error:stream_socket_client(): Unable to connect to tcp://127.0.0.1:1236 (由于目標計算機積極拒絕,無法連接。)。事實上我早就在配置里把端口改為了12360
使用的webman官方最新版本,在webman里安裝的gateway-worker。系統(tǒng)是在本地電腦win10系統(tǒng)