需求:
一個(gè)游戲房間,如果房間內(nèi)的用戶人數(shù)達(dá)到游戲要求后由系統(tǒng)主動(dòng)向房間內(nèi)的所有用戶推送游戲信息,用戶根據(jù)系統(tǒng)推送一步一步的完成游戲;
問題:
我原本實(shí)現(xiàn)是由最后一個(gè)進(jìn)入房間的用戶去給其他用戶推送這個(gè)游戲信息給當(dāng)前房間的用戶,但是現(xiàn)在的問題是如果推送消息的用戶退出了整個(gè)房間的游戲就進(jìn)行不下去了。
可不可以每建立一個(gè)游戲房間就為這個(gè)房間創(chuàng)建一個(gè)進(jìn)程,由這個(gè)進(jìn)程去推進(jìn)整個(gè)游戲流程。
我覺得不要依賴用戶或客戶端數(shù)據(jù)去操作業(yè)務(wù),
你可以在onMessage的地方統(tǒng)計(jì)當(dāng)前房間人數(shù),
到達(dá)人數(shù)后就開始游戲,這樣不會(huì)因?yàn)橛腥送顺鼍蜔o法繼續(xù)。
現(xiàn)在的問題就是onMessage需要用戶才能響應(yīng)回調(diào),我想要的是服務(wù)器主動(dòng)推送不需要用戶的onMessage參與。
不一定onMessage才能響應(yīng)回調(diào),你可以用sendToUid,或sendToGroup主動(dòng)推送給用戶
http://wtbis.cn/gatewaydoc/gateway-worker-development/send-to-group.html
多看看手冊(cè)吧,里面寫的很詳細(xì)