同一臺(tái)服務(wù)器同時(shí)運(yùn)行兩個(gè)gatewayworker,查看端口和狀態(tài)都正常,但是其中一個(gè)tcp無法建立連接。
代碼如下:
start_register.php:
// register 服務(wù)必須是text協(xié)議
$register = new Register('text://0.0.0.0:1238');
$register = new Register('text://0.0.0.0:1239');
start_businessworker.php:
// bussinessWorker 進(jìn)程
$worker = new BusinessWorker();
// worker名稱
$worker->name = 'YourAppBusinessWorker';
// bussinessWorker進(jìn)程數(shù)量
$worker->count = 4;
// 服務(wù)注冊地址
$worker->registerAddress = '127.0.0.1:1238';
$worker->registerAddress = '127.0.0.1:1239';
start_gateway.php
// gateway 進(jìn)程,這里使用Text協(xié)議,可以用telnet測試
$gateway = new Gateway("tcp://0.0.0.0:8282");
// gateway名稱,status方便查看
$gateway->name = 'YourAppGateway';
// gateway進(jìn)程數(shù)
$gateway->count = 4;
// 本機(jī)ip,分布式部署時(shí)使用內(nèi)網(wǎng)ip
$gateway->lanIp = '127.0.0.1';
// 內(nèi)部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會(huì)使用4000 4001 4002 4003 4個(gè)端口作為內(nèi)部通訊端口
$gateway->startPort = 2000;
// 服務(wù)注冊地址
$gateway->registerAddress = '127.0.0.1:1238';
start_gateway_ws.php
// gateway 進(jìn)程,這里使用Text協(xié)議,可以用telnet測試
$gateway = new Gateway("websocket://0.0.0.0:8384");
// gateway名稱,status方便查看
$gateway->name = 'YourAppGatewayWS';
// gateway進(jìn)程數(shù)
$gateway->count = 4;
// 本機(jī)ip,分布式部署時(shí)使用內(nèi)網(wǎng)ip
$gateway->lanIp = '127.0.0.1';
// 內(nèi)部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會(huì)使用4000 4001 4002 4003 4個(gè)端口作為內(nèi)部通訊端口
$gateway->startPort = 4000;
// 服務(wù)注冊地址
$gateway->registerAddress = '127.0.0.1:1239';
無法telnet 8282端口,但是端口的監(jiān)聽狀態(tài)是正常的,8384卻沒有存在問題。
請問下這是什么原因?是我部署的方式有誤么?
BusinessWorker 你只啟動(dòng)了一個(gè)。8282端口的BusinessWorker沒啟動(dòng)。
如果不熟悉按照手冊的方法來不容易出錯(cuò)
http://doc2.workerman.net/326154
businessworker需要new兩個(gè)么? 不是new一個(gè)再注冊兩個(gè)registerAddress么? 文檔看的不是很明白,請指點(diǎn)下,謝謝
@1:根據(jù)文檔 更改Applications/Chat2/start_web.php中的WebServer端口, 里面沒有這個(gè)文件start_web.php 啊 只有start_businessworker.php & start_gateway.php &start_register.php和Events.php 哪有strat_web.php??
@1:運(yùn)行兩個(gè)項(xiàng)目 start.php需要拷貝一份出來嗎?start2.php?為啥我按照文檔配置,啟動(dòng)時(shí)候其中一個(gè)成功 另外一個(gè)提示端口被占用 但是我查了下 沒有占用
請問我要運(yùn)行多個(gè)客戶端websocket老是提示W(wǎng)orkerman[index.php] already running怎么處理呢,php workernam做多客戶端websocket