運行多個gatewayWorker實例
可以運行多個GatewayWorker實例,步驟如下。
假設(shè)已有Applications/Chat,想增加Applications/Chat2
1、拷貝Applications/Chat到Applications/Chat2
2、更改Applications/Chat2/start_register.php中的端口,1236改為1237(或者改為其它未被占用端口)
3、更改Applications/Chat2/start_businessworker.php中的registerAddress為127.0.0.1:1237
4、更改Applications/Chat2/start_gateway.php中的屬性,包括gateway端口、startPort、registerAddress和進程名如下
// ===更改gateway進程端口,這里改為8282===
$gateway = new Gateway("Websocket://0.0.0.0:8282");
// ===更改名稱,方便status時查看===
$gateway->name = 'ChatGateway2';
$gateway->count = 4;
$gateway->lanIp = '127.0.0.1';
// ===更改注冊服務(wù)地址,端口由1236改為1237===
$gateway->registerAddress = '127.0.0.1:1237';
// ===更改內(nèi)部通訊起始端口,這里改為4000====
// ===一定要改,比原來大一些,不然會端口沖突===
$gateway->startPort = 4000;
$gateway->pingInterval = 10;
$gateway->pingData = '{"type":"ping"}';
5、更改Applications/Chat2/start_web.php中的WebServer端口(如果沒有這個文件請忽略),
// 這里改成55252
$web = new WebServer("http://0.0.0.0:55252");
$web->count = 2;
$web->addRoot('www.your_domain.com', __DIR__.'/Web');
6、由于gateway端口更改了,所以前端js連接gateway的端口也要做相應(yīng)的更改
打開 /Applications/Chat2/Web/index.php
// 改成gateway端口8282
ws = new WebSocket("ws://"+document.domain+":8282");