結(jié)合thinkphp5 php版本5.6
啟動(dòng)文件start.php代碼如下:
define('APP_PATH', __DIR__ . '/../app/');
define('BIND_MODULE','socket/Gate');
// 加載框架引導(dǎo)文件
require __DIR__ . '/../thinkphp/start.php';
Gate模塊構(gòu)造方法如下:
namespace app\socket\controller;
use Workerman\Worker;
use GatewayWorker\Gateway;
use GatewayWorker\Register;
use GatewayWorker\BusinessWorker;
class Gate
{
/**
@access public
*/
public function __construct(){
$worker = new BusinessWorker();
$worker->name = 'ChatBusinessWorker_test';
$worker->count = 2;
$worker->registerAddress = '127.0.0.1:' . config('worker_port.register');
$worker->eventHandler = 'app\socket\controller\Events';
// 初始化 gateway 進(jìn)程
$gateway = new Gateway('websocket://0.0.0.0:' . config('worker_port.websocket'));
$gateway->name = 'ChatGateway_test';
$gateway->count = 2;
$gateway->lanIp = '127.0.0.1';
$gateway->startPort = config('worker_port.start');
$gateway->pingInterval = 60;
$gateway->pingNotResponseLimit = 1;
$gateway->pingData = '{"type":"ping"}';
//$gateway->pingData = '';
$gateway->registerAddress = '127.0.0.1:' . config('worker_port.register');
//初始化register register 服務(wù)必須是text協(xié)議
$register = new Register('text://0.0.0.0:'. config('worker_port.register'));
$register->name = 'ChatRegister_test';
//運(yùn)行所有Worker;
Worker::runAll();
}
}
守護(hù)進(jìn)程命令行:php start.php start
初始$gateway->count = 2;兩個(gè)進(jìn)程
第一次啟動(dòng)監(jiān)聽的7575端口進(jìn)程查詢?nèi)缦拢?br />
兩個(gè)進(jìn)程。
然后重啟進(jìn)程守護(hù)任務(wù)如下:
再查看端口執(zhí)行的進(jìn)程:
又多出來兩個(gè) 如果再重啟還會(huì)多出來兩個(gè)
每次重啟都會(huì)增加
請(qǐng)問下 是哪里的問題 ,
但是我用官網(wǎng)下載的demo同樣運(yùn)行 進(jìn)程數(shù)量就不會(huì)增加