請(qǐng)問(wèn)下我想在不同的房間類型: 休閑房、競(jìng)技房 , 下面有對(duì)應(yīng)的不同金幣的房間,金幣房間下面有很多桌,每桌4個(gè)玩家。 客戶端只傳進(jìn)房間 的類型 和對(duì)應(yīng)的金幣房id,桌子編號(hào)由服務(wù)端決定,玩家進(jìn)入時(shí)自動(dòng)分配到桌上。我想根據(jù)不同的房間類型 啟動(dòng)多個(gè)實(shí)例,是不是我客戶端登錄的時(shí)候連接一個(gè)實(shí)例,選擇房間類型的時(shí)候,根據(jù)不同的類型再 重新連接對(duì)應(yīng)的實(shí)例。
可以這樣做
房間對(duì)戰(zhàn)類游戲用workerman比較適合,設(shè)置worker單進(jìn)程,多個(gè)worker實(shí)例分房間。
方便客戶端之間使用共享變量(如客坐標(biāo)等等)
參考 http://wenda.workerman.net/?/question/523
@1:那進(jìn)入不同的房間重新鏈接的client_id變了,又要重新登陸了,這個(gè)有什么好辦法嗎?流程是先登錄賬號(hào),然后選選擇房間。我想做到登錄號(hào)的client_id一直保持連接不變,然后可以在進(jìn)入不同房間的時(shí)候也是client_id不變,只是調(diào)用不同的worker實(shí)例。
gatewayworker中連接斷開(kāi)后重連client_id肯定要變,無(wú)法做到不變。
對(duì)戰(zhàn)類游戲用workerman做分布式部署可以參考 http://wenda.workerman.net/?/question/523 的答案
可以用GateWay維護(hù)用戶的連接,這樣他只需要登錄連接一次就行了,然后發(fā)送進(jìn)入房間的信息,由GATEWAY存儲(chǔ)用戶當(dāng)前房間號(hào),根據(jù)房間號(hào)轉(zhuǎn)發(fā)數(shù)據(jù)到房間進(jìn)程,不同的房間進(jìn)程處理不同的邏輯。