我1.0版本中,我采用了
<?php
use \Workerman\Worker;
use \GatewayWorker\Gateway;
use \Workerman\Lib\Timer;
use \Workerman\Autoloader;
// 自動(dòng)加載類
require_once __DIR__ . '/../../Workerman/Autoloader.php';
Autoloader::setRootPath(__DIR__);
// gateway 進(jìn)程
$gateway = new Gateway("Text://0.0.0.0:2529");
// 名稱,以便status時(shí)查看方便
$gateway->name = 'Send_HnAnimal_ToPhp_Gateway';
// 進(jìn)程數(shù),建議與cpu核數(shù)相同
$gateway->count = 2;
// 分布式部署時(shí)需要設(shè)置成內(nèi)網(wǎng)ip
$gateway->lanIp = '127.0.0.1';
// 內(nèi)部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會(huì)使用4001 4002 4003 4004 4個(gè)端口作為內(nèi)部通訊端口
$gateway->startPort = 2521;
$gateway->onWorkerStart = function($gateway)
{
$gateway->timer_the_send_id = Timer::add(1,function(){
$data = \Uplott\Lottery\Cj\HnAnimal::send_data();
$data = json_encode($data);
\GatewayWorker\Lib\Gateway::sendToAll($data);
});
};
$gateway->onWorkerStop = function($gateway){
Timer::del($gateway->timer_the_send_id);
};
// 如果不是在根目錄啟動(dòng),則運(yùn)行runAll方法
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
一直都沒有問題。
升級(jí)到2.0之后,出現(xiàn)下面這種情況
PHP Warning: stream_socket_client(): unable to connect to tcp://127.0.0.1:1236 (Connection refused) in /home/GatewayWorker/GatewayWorker/Lib/Gateway.php on line 603
然后,我增加
// 服務(wù)注冊(cè)地址
$gateway->registerAddress = '127.0.0.1:2500';
還是出現(xiàn)上述錯(cuò)誤,不知道什么原因?是不是2.0版本不能同時(shí)出現(xiàn)gateway?請(qǐng)指教
GatewayWorker升級(jí)參考2.0手冊(cè)
http://workerman.net/gatewaydoc/appendices/upgrade.html