// gateway 進(jìn)程
$gateway = new Gateway("text://0.0.0.0:8282");
// 設(shè)置名稱(chēng),方便status時(shí)查看
$gateway->name = 'wlw8282';
// 設(shè)置進(jìn)程數(shù),gateway進(jìn)程數(shù)建議與cpu核數(shù)相同
$gateway->count = 1;
// 分布式部署時(shí)請(qǐng)?jiān)O(shè)置成內(nèi)網(wǎng)ip(非127.0.0.1)
$gateway->lanIp = '110.179.197.59';
// 內(nèi)部通訊起始端口。假如$gateway->count=4,起始端口為2300
// 則一般會(huì)使用2300 2301 2302 2303 4個(gè)端口作為內(nèi)部通訊端口?
$gateway->startPort = 6008;
// 心跳間隔
$gateway->pingInterval = 50; //心跳檢測(cè)時(shí)間間隔 單位:秒。如果設(shè)置為0代表不做任何心跳檢測(cè)。
$gateway->pingNotResponseLimit = 0; //客戶(hù)端連續(xù)$pingNotResponseLimit次$pingInterval時(shí)間內(nèi)不發(fā)送任何數(shù)據(jù)則斷開(kāi)鏈接,并觸發(fā)onClose
// 心跳數(shù)據(jù)
$gateway->pingData = '';
// 服務(wù)注冊(cè)地址
$gateway->registerAddress = '110.250.190.138:1236';
?
**這個(gè)服務(wù)器部署在 內(nèi)網(wǎng)中? 通過(guò)路由鏈接的外網(wǎng)? 內(nèi)網(wǎng)地址是 192.168.1.20? ?外網(wǎng) 是??110.179.197.59'**
**這個(gè) $gateway->lanIp = ? 應(yīng)該怎么填**
若gateway和business在一同個(gè)內(nèi)網(wǎng),則設(shè)置成內(nèi)網(wǎng)IP,否則設(shè)置成公網(wǎng)IP。
手冊(cè)有說(shuō),分布式部署的所有服務(wù)器都在一個(gè)內(nèi)網(wǎng)的話$gateway->lanIp就寫(xiě)內(nèi)網(wǎng)ip。如果不是寫(xiě)外網(wǎng)ip。
?
我實(shí)際操作過(guò)程中發(fā)現(xiàn)如果你的服務(wù)器是阿里云或者騰訊云,并且網(wǎng)絡(luò)類(lèi)型是專(zhuān)有網(wǎng)絡(luò)的話,是沒(méi)辦法監(jiān)聽(tīng)外網(wǎng)ip的,也就是說(shuō)服務(wù)器是專(zhuān)有網(wǎng)絡(luò)$gateway->lanIp寫(xiě)外網(wǎng)ip會(huì)報(bào)Cannot assign requested address的錯(cuò)誤。
?
所以總結(jié)下來(lái)就是如果你的服務(wù)器不在一個(gè)局域網(wǎng),服務(wù)器是阿里云或者騰訊云的專(zhuān)有網(wǎng)絡(luò)服務(wù)器,無(wú)法組建gatewayWorker分布式系統(tǒng)。如果是經(jīng)典網(wǎng)絡(luò)是可以的。
?
如果所有服務(wù)器是一個(gè)局域網(wǎng),lanip設(shè)置為局域網(wǎng)ip也是可以組建集群的。
$gateway->lanIp = 'ss.sd.top'; 直接填 域名 就可以這個(gè)問(wèn)題已經(jīng)解決,可以用,但是 客戶(hù)鏈接后,能看到客戶(hù)登錄,但是不能給客戶(hù)發(fā)消息,還有 就是??$_SESSION 也不能用了?
據(jù)我了解,lanIp不能寫(xiě)域名。lanIp是Gateway所在服務(wù)器的內(nèi)網(wǎng)IP,默認(rèn)填寫(xiě)127.0.0.1即可。多服務(wù)器分布式部署的時(shí)候需要填寫(xiě)真實(shí)的內(nèi)網(wǎng)ip,不能填寫(xiě)127.0.0.1。注意:lanIp只能填寫(xiě)真實(shí)ip,不能填寫(xiě)域名或者其它字符串,無(wú)論如何都不能寫(xiě)0.0.0.0 . 摘自手冊(cè)
測(cè)試 用域名 打開(kāi)沒(méi)有錯(cuò)誤,就是不能接收數(shù)據(jù) ,發(fā)數(shù)據(jù)倒是正常,有沒(méi)有辦法解決?
我在服務(wù)器上值運(yùn)行了?start_gateway.php 這個(gè)? 注冊(cè)服務(wù)器不在一個(gè)局域網(wǎng)?
[attach]1817[/attach]
?
謝謝回復(fù),問(wèn)題已經(jīng)解決 ,解決方法 ,用 2個(gè)IP 一個(gè)內(nèi)網(wǎng) 一個(gè)外網(wǎng)